Hello everybody,

 

I am trying for a while to get the NLopt plugin running for MatLab and have
ready everything I could find to solve my problems. But I still cannot use
NLopt.

My system: Windows 7 64bit, MatLab R2012b, Compiler Microsoft Visual C++
2010

I have extracted nlopt-2.3-dll.zip and copied all files from MatLab to my
working directory. In the command prompt (DOS), I managed to create a lib
file via the “vsvars32.bat” from Visual Studio with following command: lib
/def:libnlop-0.def /MACHINE:X64 and copied this to my MatLab working
directory. 

 

Now in MatLab, I tried to compile the nlopt_optimize.c File by: mex -v
nlopt_optimize.c libnlopt-0.lib

Here I get following error message:

 

-> Default options filename found in
C:\Users\sfkube\AppData\Roaming\MathWorks\MATLAB\R2012b 

---------------------------------------------------------------- 

-> Options file           =
C:\Users\sfkube\AppData\Roaming\MathWorks\MATLAB\R2012b\mexopts.bat 

    MATLAB               = C:\Program Files\MATLAB\R2012b 

-> COMPILER           = cl 

-> Compiler flags: 

    COMPFLAGS       = /c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE
/D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD 

    OPTIMFLAGS       = /O2 /Oy- /DNDEBUG 

    DEBUGFLAGS     = /Z7 

    arguments            =  

    Name switch         = /Fo 

-> Pre-linking commands   =  

-> LINKER                 = link 

-> Link directives: 

    LINKFLAGS           = /dll /export:mexFunction /LIBPATH:"C:\Program
Files\MATLAB\R2012b\extern\lib\win64\microsoft" libmx.lib libmex.lib
libmat.lib /MACHINE:X64 kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
odbc32.lib odbccp32.lib /nologo /manifest /incremental:NO
/implib:"C:\Users\sfkube\AppData\Local\Temp\mex_CbwNHj\templib.x"
/MAP:"nlopt_optimize.mexw64.map" 

    LINKDEBUGFLAGS      = /debug /PDB:"nlopt_optimize.mexw64.pdb" 

    LINKFLAGSPOST       =  

    Name directive      = /out:"nlopt_optimize.mexw64" 

    File link directive =  

    Lib. link directive =  

    Rsp file indicator  = @ 

-> Resource Compiler      = rc /fo "mexversion.res" 

-> Resource Linker        =  

-------------------------------------------------------------- 

  

--> cl  /c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE
/D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD
/FoC:\Users\sfkube\AppData\Local\Temp\mex_CbwNHj\nlopt_optimize.obj
-I"C:\Program Files\MATLAB\R2012b\extern\include" -I"C:\Program
Files\MATLAB\R2012b\simulink\include" /O2 /Oy- /DNDEBUG -DMX_COMPAT_32
nlopt_optimize.c 

 

nlopt_optimize.c 

nlopt_optimize.c(175) : warning C4244: 'Funktion': Konvertierung von
'double' in 'int', m”glicher Datenverlust 

nlopt_optimize.c(178) : warning C4244: 'Funktion': Konvertierung von
'double' in 'unsigned int', m”glicher Datenverlust 

nlopt_optimize.c(179) : warning C4244: 'Funktion': Konvertierung von
'double' in 'unsigned int', m”glicher Datenverlust 

nlopt_optimize.c(152) : warning C4101: 'i': Unreferenzierte lokale Variable 

nlopt_optimize.c(220) : warning C4267: '=': Konvertierung von 'size_t' nach
'unsigned int', Datenverlust m”glich 

nlopt_optimize.c(287) : warning C4267: '=': Konvertierung von 'size_t' nach
'int', Datenverlust m”glich 

nlopt_optimize.c(324) : warning C4267: '=': Konvertierung von 'size_t' nach
'int', Datenverlust m”glich 

nlopt_optimize.c(356) : warning C4267: 'Funktion': Konvertierung von
'size_t' nach 'int', Datenverlust m”glich 

nlopt_optimize.c(356) : warning C4267: 'Funktion': Konvertierung von
'size_t' nach 'int', Datenverlust m”glich 

    Contents of C:\Users\sfkube\AppData\Local\Temp\mex_CbwNHj\mex_tmp.rsp: 

  C:\Users\sfkube\AppData\Local\Temp\mex_CbwNHj\nlopt_optimize.obj
libnlopt-0.lib 

 

 --> link /out:"nlopt_optimize.mexw64" /dll /export:mexFunction
/LIBPATH:"C:\Program Files\MATLAB\R2012b\extern\lib\win64\microsoft"
libmx.lib libmex.lib libmat.lib /MACHINE:X64 kernel32.lib user32.lib
gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /manifest
/incremental:NO
/implib:"C:\Users\sfkube\AppData\Local\Temp\mex_CbwNHj\templib.x"
/MAP:"nlopt_optimize.mexw64.map"
@C:\Users\sfkube\AppData\Local\Temp\mex_CbwNHj\mex_tmp.rsp   

 

   Bibliothek "C:\Users\sfkube\AppData\Local\Temp\mex_CbwNHj\templib.x" und
Objekt "C:\Users\sfkube\AppData\Local\Temp\mex_CbwNHj\templib.exp" werden
erstellt. 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_force_stop" in Funktion "user_function". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_local_optimizer" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_initial_step" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_vector_storage" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_population" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_maxtime" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_maxeval" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_xtol_abs" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_xtol_rel" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_ftol_abs" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_ftol_rel" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_stopval" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_upper_bounds" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_lower_bounds" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_destroy" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_create" in Funktion "make_opt". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_optimize" in Funktion "mexFunction". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_add_equality_constraint" in Funktion "mexFunction". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_add_inequality_constraint" in Funktion "mexFunction". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_max_objective" in Funktion "mexFunction". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_min_objective" in Funktion "mexFunction". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_precond_max_objective" in Funktion "mexFunction". 

nlopt_optimize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp_nlopt_set_precond_min_objective" in Funktion "mexFunction". 

nlopt_optimize.mexw64 : fatal error LNK1120: 23 nicht aufgelöste externe
Verweise. 

 

  C:\PROGRA~1\MATLAB\R2012B\BIN\MEX.PL: Error: Link of
'nlopt_optimize.mexw64' failed. 

 

Error using mex (line 206)

Unable to complete successfully.

 

I have no idea, what else to try. If maybe somebody gives me a tipp or could
help me solve the problem, I would be very happy!

 

Best regards, 

Bettina Kutschera

_______________________________________________
NLopt-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss

Reply via email to