Re: [Lapackpp-devel] Trouble compiling lapack++ in MSVC
Status: Beta
Brought to you by:
cstim
From: Christian S. <sti...@tu...> - 2007-08-30 20:46:09
|
Am Mittwoch, 29. August 2007 11:13 schrieb k.s...@fy...: > I'm having some trouble compiling lapack++ 2.5.2 using MSVC (ver. > 7.1.6030). > > The debug build results in lots of these: > include\laexcp.h(74) : warning C4275: non dll-interface class > 'std::runtime_error' used as base for dll-interface class 'LaException' > C:\Program Files\Microsoft Visual Studio .NET > 2003\Vc7\include\stdexcept(136) : see declaration of > 'std::runtime_error' > include\laexcp.h(73) : see declaration of 'LaException' Those are normal and can be ignored. > And the release build just says: > lapackpp : error PRJ0003 : Error spawning ''. > > I've put up the entire buildlogs here: > http://folk.uio.no/knutsj/err/BuildLog_debug.htm > http://folk.uio.no/knutsj/err/BuildLog_release.htm > > > The debug build does produce .lib and .dll files, but when I try to build > tgd i get a couple dozen errors like this: > tgd.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) > public: class LaGenMatDouble & __thiscall > LaGenMatDouble::operator=(double)" (__imp_??4LaGenMatDouble@@QAEAAV0@N@Z) > referenced in function "void __cdecl la::ones<class LaGenMatDouble>(class > LaGenMatDouble &,int,int)" > (??$ones@VLaGenMatDouble@@@la@@YAXAAVLaGenMatDouble@@HH@Z) Those I saw just recently and I don't have a good idea why they show up. The function in question (LaGenMatDouble::operator=) exists and its implementation exists as well. If you use the dependency walker (depends.exe), you will find this symbol in the lapackpp32.dll as well. On Linux there is no such problem, so unfortunately I don't know how to fix this at this point in time. Christian |