[Ipopt] Help with IPOPT linking problems on Windows MSVC/
Stefan Vigerske
stefan at math.hu-berlin.de
Wed Aug 27 06:20:41 EDT 2008
Hi,
> * 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"
That is the point where you should stop ;-).
> 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):
Maybe you need to build also a debug version of the vcf2c.lib. You would
need to change some -MT to -MTd somewhere in the makefile.vc.
> * 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?
I could try making binaries of Ipopt in optimized (-MT) and debug mode
(-MTd) using the new Mumps and the Netlib LAPACK/BLAS, and having
everything compiled with Intel C++ and Fortran compilers. Would that be
helpful?
> ============== 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)
> [...]
This looks like something that would be stdc++ in Linux is missing.
Stefan
--
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan
More information about the Ipopt
mailing list