[Ipopt] Help with IPOPT linking problems on Windows MSVC/

Jesse Perla jesseperla at gmail.com
Mon Aug 25 02:01:10 EDT 2008


To partially solve my last message, I found the some of the source code was
missing in the Visual Studio project.  I may have deleted them accidentally,
but they may have been missing from the actual project file.

So now:
* I can build Debug/Release, etc. of the library with the VisualStudio
project file.  I created debug versions of the library files with a "d" at
the end of the file name.
* Linking the sample application with: "libipopt.lib mkl_intel_c.lib
mkl_core.lib mkl_sequential.lib libCOINHSL.lib vcf2c.lib" creates an
executable that links and works fine.  Note here I am using MKL, it also
works with the built blas/lapack: "libipopt.lib libCOINHSL.lib vcf2c.lib
libcoinblas.lib libcoinlapack.lib"

But when I change the sample application to a a debug build (/MTd):
* If I link with the debug versions also created with /MTd: libipoptd.lib
libCOINHSLd.lib vcf2c.lib libcoinblasd.lib libcoinlapackd.lib  (or the
non-debug versions), everything goes haywire with thousands of unresolved
externals for things I would expect to always be there (see bottom of
message):
* I can email/upload my visual studio project file for ipopt and for the
sample application if my steps forward will be useful and if anyone wants to
play with it.
* Otherwise, perhaps I am a library user who doesn't know enough to get this
stuff working on his own and should wait for binaries.  If getting an
automated build process for windows binaries with /MT, /MTd, /MD, /MDd and
with support for binding to different LAPACK/BLAS as linker inputs is on the
horizon, then I also may be wasting my time and would be better off testing
the final binaries/sample projects.  Is there a gut instinct on the
timeframe for binaries?

============== Here were a couple of the unresolved externals....  I am sure
it is another 101 type organization, but I haven't hit these kinds of
problems using other libraries and am not sure how to handle things like
this.

1>libcpmtd.lib(iosptrs.obj) : error LNK2001: unresolved external symbol
"void __cdecl operator delete(void *)" (??3 at YAXPAX@Z)
1>libipoptd.lib(IpLapack.obj) : error LNK2001: unresolved external symbol
"void __cdecl operator delete(void *)" (??3 at YAXPAX@Z)
1>libcpmtd.lib(xdebug.obj) : error LNK2001: unresolved external symbol "void
__cdecl operator delete(void *)" (??3 at YAXPAX@Z)
1>libipoptd.lib(IpDiagMatrix.obj) : error LNK2001: unresolved external
symbol "void __cdecl operator delete(void *)" (??3 at YAXPAX@Z)
1>libipoptd.lib(IpIdentityMatrix.obj) : error LNK2001: unresolved external
symbol "void __cdecl operator delete(void *)" (??3 at YAXPAX@Z)
1>libipoptd.lib(IpCompoundMatrix.obj) : error LNK2019: unresolved external
symbol "void __cdecl operator delete(void *)" (??3 at YAXPAX@Z) referenced in
function "public: __thiscall Ipopt::TaggedObject::TaggedObject(void)"
(??0TaggedObject at Ipopt@@QAE at XZ)
1>libipoptd.lib(IpSumMatrix.obj) : error LNK2001: unresolved external symbol
"void __cdecl operator delete(void *)" (??3 at YAXPAX@Z)
1>libipoptd.lib(IpCompoundSymMatrix.obj) : error LNK2001: unresolved
external symbol "void __cdecl operator delete(void *)" (??3 at YAXPAX@Z)
...
1>libipoptd.lib(IpJournalist.obj) : error LNK2001: unresolved external
symbol __invalid_parameter
1>libipoptd.lib(IpOptionsList.obj) : error LNK2001: unresolved external
symbol __invalid_parameter
1>libipoptd.lib(IpIdentityMatrix.obj) : error LNK2001: unresolved external
symbol __CrtDbgReportW
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/ipopt/attachments/20080825/efd0b186/attachment.html 


More information about the Ipopt mailing list