libraries

2 views (last 30 days)
Natalia
Natalia on 5 Apr 2011
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.

Accepted Answer

Kaustubha Govind
Kaustubha Govind on 5 Apr 2011
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 Comments
Kaustubha Govind
Kaustubha Govind on 6 Apr 2011
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 on 6 Apr 2011
Thank you, many, many :)

Sign in to comment.

More Answers (1)

Arnaud Miege
Arnaud Miege on 5 Apr 2011
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 Comments
Arnaud Miege
Arnaud Miege on 5 Apr 2011
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 on 6 Apr 2011
Has changed nothing

Sign in to comment.

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!