|
Ublas : |
From: òÑÂÃÅ× ÷ÌÁÄÉÍÉÒ (true_merc_at_[hidden])
Date: 2006-03-31 08:49:05
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.