libraries

5 ビュー (過去 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 Center および File ExchangeWrite C Functions Callable from MATLAB (MEX Files) についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by