Hello,
I have some
troubles using uBLAS with LAPACK bindings.
These troubles are
initiated by assert() macros in file /boost/numeric/bindings/lapack/gesv.hpp
if function boost::numeric::bindings::lapack::gesv(...) is used.
So, I get
compiler message:
D:\boost_1_33_1\boost\numeric\bindings\lapack\gesv.hpp(110):
error C3861: 'assert': identifier not found, even with argument-dependent
lookup
I'm using MS Visual
Studio .NET 2003 with compiler options:
/O2 /D
"WIN32" /D "NDEBUG" /D "_CONSOLE" /D
"_MBCS" /FD /EHsc /GS /Fo"Release/"
/Fd"Release/vc70.pdb" /W3 /nologo /c /Wp64 /Zi /Gd /TP /MD
and linker options:
/OUT:"Release/boost_test.exe"
/INCREMENTAL:NO /NOLOGO /DEBUG /PDB:"Release/boost_test.pdb"
/SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /MACHINE:X86 kernel32.lib user32.lib
gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
clapack.lib blas.lib libF77.lib libI77.lib tmglib.lib
LAPACK version: CLAPACK v
3.0 for Win32.
Boost bindings version
with release date 2006.01.21.
boost/numeric/bindings/lapack/gesv.hpp file version 1.4
The sample of code
initiates this error is:
#define BOOST_NUMERIC_BINDINGS_USE_CLAPACK
#include <boost/numeric/bindings/lapack/gesv.hpp>
#include <boost/numeric/bindings/traits/ublas_matrix.hpp>
#include <boost/numeric/bindings/traits/std_vector.hpp>
namespace ublas = boost::numeric::ublas;
namespace lapack = boost::numeric::bindings::lapack;
int main() {
std::size_t n = 3;
ublas::matrix<double,
ublas::column_major> a (n, n);
ublas::matrix<double,
ublas::column_major> b (n, n);
// Initialize
a
// Initialize
b
lapack::gesv (a, b);
return
0;
}
I solve this problem to
include the string:
#include <assert.h>
in file boost\numeric\bindings\lapack\gesv.hpp
So, could anybody
explain to me my mistakes or give me link to the corresponding place in
documentation?
Best regards,
Ryabtsev V.