ライブラリを含む MEX ファイルを作成しようとするとリンクエラーとなるのはなぜですか?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 25 Okt. 2013
Beantwortet: MathWorks Support Team
am 25 Okt. 2013
C で作成したライブラリ (myLib.lib) をリンクさせて MEX ファイルを作成しようとするとリンクエラーとなります。MATLAB は 64-bit 版を使用しています。
MEX 作成時のコマンド:
>> mex myFunc.c -L<カレントパス> -lmyLib
エラーメッセージ:
ライブラリ C:\Users\myDir\AppData\Local\Temp\mex_xIsFIl\templib.x とオブジェクト
C:\Users\myDir\AppData\Local\Temp\mex_xIsFIl\templib.exp を作成中
myFunc.obj : error LNK2019: 未解決の外部シンボル timestwo が関数 mexFunction で参照されました。
myFunc.mexw64 : fatal error LNK1120: 外部参照 1 が未解決です。
C:\PROGRA~1\MATLAB\R2012A\BIN\MEX.PL: Error: Link of ' myFunc.mexw64' failed.
(myLib 内の timestwo 関数を使用しようとしています)
Akzeptierte Antwort
MathWorks Support Team
am 25 Okt. 2013
ライブラリが作成されたプラットフォームと、MATLAB が動作するプラットフォームが異なる場合に、このようなエラーが発生します。
myLib.lib が 32-bit 版の VC++ で作成された場合はこのようなエラーメッセージが出力されます。
以下のいずれかの方法で、エラーを回避します。
・32-bit 版の VC++ で myLib を作成し、32-bit 版 MATLAB で使用する。
・64-bit 版の VC++ で myLib を作成し、64-bit 版 MATLAB で使用する。
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu C MEX ファイル アプリケーション finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!