libraries

2 次查看(过去 30 天)
Natalia
Natalia 2011-4-5
Hello! I continue to suffer with the included files and libraries. I can't understand, why there is a following error:
>> mex -IC:\OgreSDK\samples\include -IC:\OgreSDK\include -LC:\OgreSDK\lib OgreAppSource.cpp -l OgreMain_d.lib -l OIS_d.lib
Warning: MEX could not find the library "" specified with -l option.
MEX looked for a file with one of the names:
.lib
lib.lib
MEX looked for the library in the following directories:
C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB
C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB
C:\Program Files\\Microsoft SDKs\Windows\v6.0A\lib
C:\Program Files\Microsoft Visual Studio 9.0\SDK\v2.0\lib
C:\Program Files\MATLAB\R2010b\extern\lib\win32
C:\Program Files\SQLXML 4.0\bin\
C:\Program Files\MATLAB\R2010b\extern\lib\win32\microsoft
C:\OgreSDK\lib
Warning: MEX could not find the library "" specified with -l option.
MEX looked for a file with one of the names:
.lib
lib.lib
MEX looked for the library in the following directories:
C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB
C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB
C:\Program Files\\Microsoft SDKs\Windows\v6.0A\lib
C:\Program Files\Microsoft Visual Studio 9.0\SDK\v2.0\lib
C:\Program Files\MATLAB\R2010b\extern\lib\win32
C:\Program Files\SQLXML 4.0\bin\
C:\Program Files\MATLAB\R2010b\extern\lib\win32\microsoft
C:\OgreSDK\lib
LINK : fatal error LNK1181: cannot open input file 'OgreMain_d.lib'
C:\PROGRA~1\MATLAB\R2010B\BIN\MEX.PL: Error: Link of 'OgreAppSource.mexw32' failed.
??? Error using ==> mex at 208
Unable to complete successfully.
I will be grateful for any help.

采纳的回答

Kaustubha Govind
Kaustubha Govind 2011-4-5
I'm sorry, I think I made a mistake in my answer to your previous question - there should be no blankspace between -l and your library name. Also, you don't need to add the .lib extension since MEX does that automatically for you. Try:
>> mex -IC:\OgreSDK\samples\include -IC:\OgreSDK\include -LC:\OgreSDK\lib OgreAppSource.cpp -lOgreMain_d -lOIS_d
  3 个评论
Kaustubha Govind
Kaustubha Govind 2011-4-6
Okay, so it appears that OgreAppSource.cpp is not really a MEX-function (remember that a MEX-function has not main(), but a mexFunction()instead) - I am assuming that you build an executable from this file in Visual Studio, which is why it works. But MEX actually produces a DLL-like binary, and needs a different interface. You will need to modify your source code and create a MEX wrapper around it.
Natalia
Natalia 2011-4-6
Thank you, many, many :)

请先登录,再进行评论。

更多回答(1 个)

Arnaud Miege
Arnaud Miege 2011-4-5
The error message seems to suggest that mex can't find the file OgreMain_d.lib. Are you sure this file is on your MATLAB path or in your current directory?
HTH,
Arnaud
  3 个评论
Arnaud Miege
Arnaud Miege 2011-4-5
OK, but from which directory are you running the mex command? Shouldn't you have:
>> mex -IC:\OgreSDK\samples\include -IC:\OgreSDK\include -LC:\OgreSDK\lib OgreAppSource.cpp -l C:\OgreSDK\lib\OgreMain_d.lib -l OIS_d.lib
HTH,
Arnaud
Natalia
Natalia 2011-4-6
Has changed nothing

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 MATLAB Compiler 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by