I did a build on some simple code calling:
ublas::matrix<double, ublas::column_major> A(3,3), B(3,1);
lapack::gesv(A,B);
The environment was VS2008, Intel C++ 10.1.020, and using the built in "build" and project system within intel.
The headers added were:
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/bindings/lapack/lapack.hpp>
#include <boost/numeric/bindings/traits/ublas_matrix.hpp>
#include <boost/numeric/bindings/traits/std_vector.hpp>
When I do this for all other boost libraries, I have not had a problem, but when adding in the bindings I get the following message on compilation:
1>------ Build started: Project: test_etk, Configuration: Debug Win32 ------
1>Compiling with Intel(R) C++ 10.1.020 [IA-32]... (Intel C++ Environment)
1>stdafx.cpp
1>C:\working\libraries\boost_1_35_0\boost/numeric/bindings/traits/config.hpp(35): catastrophic error: #error directive: bindings do not recognise compiler
1> #error bindings do not recognise compiler
1> ^
It appeared to me that __ICC version wasn't being set by the compiler, but this seems strange since all the other libraries worked and intel says that it automatically sets this (and INTEL_COMPILER).
When I added the following define, everything compiled fine:
#define __ICC 1010
-Jesse