ライブラリを含む MEX ファイルを作成しよう​とするとリンクエラー​となるのはなぜですか​?

6 次查看(过去 30 天)
MathWorks Support Team
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 関数を使用しようとしています)

采纳的回答

MathWorks Support Team
ライブラリが作成されたプラットフォームと、MATLAB が動作するプラットフォームが異なる場合に、このようなエラーが発生します。
myLib.lib が 32-bit 版の VC++ で作成された場合はこのようなエラーメッセージが出力されます。
以下のいずれかの方法で、エラーを回避します。
・32-bit 版の VC++ で myLib を作成し、32-bit 版 MATLAB で使用する。
・64-bit 版の VC++ で myLib を作成し、64-bit 版 MATLAB で使用する。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 C MEX ファイル アプリケーション 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!