[Ipopt] Compiling test programs in Visual Studio 2005

Stefan Vigerske stefan at math.hu-berlin.de
Thu Jun 5 11:44:48 EDT 2008


Hi,

> I successfully compiled the IPOPT library in MINGW  using the Intel Fortran 
> Compiler and Visual Studio 2005.  This was done in "release" mode.  I next tried 
> to compile the test program hs071_c.c as a console application in Visual Studio 
> 2005 and statically linked it to the libipopt.lib that I had created with the 
> earlier step.  I had to disable libcmt.lib to take care of some conflicts 
> (redefinitions).   But after all of this I still get the following errors:
> 
> 1>libifcoremt.lib(for_diags_intel.obj) : error LNK2001: unresolved external 
> symbol __iob
> 1>libifcoremt.lib(for_nt_open_proc.obj) : error LNK2001: unresolved external 
> symbol __iob
> 1>libmmt.lib(libm_error.obj) : error LNK2001: unresolved external symbol __iob
> 1>libifcoremt.lib(for_init.obj) : error LNK2001: unresolved external symbol ___argv
> 1>libifcoremt.lib(for_init.obj) : error LNK2001: unresolved external symbol ___argc
> 1>C:\Users\krishnan\Documents\projects\Testipopt\Release\Testipopt.exe : fatal 
> error LNK1120: 3 unresolved externals
> 
> These are obviously coming from the Intel side.  This is maddening since I had 
> successfully done something similar in the past.  Any clues on where I am 
> goofing up? 

I wouldn't be so sure that this is from the intel side.
Checking a fairly old VS2003, __iob and __argv are defined in the libc 
derivates (libc, libcmt, libcd, ...), but in none of the Intel Fortran 
10 compiler libraries.
Maybe you can try to take libcmt or libc in again, or msvcrt.lib seem to 
define these too.

Hope this helps,
Stefan

-- 
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan


More information about the Ipopt mailing list