1

私の質問はこれの重複の可能性があります: matlab mex files and C++ dll (windows)ですが、正確ではありません。

Matlab の mex ファイル (Visual Studio 2008、Windows 7 64 ビット、Matlab 2010b) から dll を明示的にロードしようとすると、実行時にロードに失敗します (NULL ハンドルを取得します)。mex ファイルで使用されていない場合、同じコードは正常に機能します。

.lib ファイルにリンクして暗黙的にロードしようとするとunresolved external symbol、dll で定義されている関数に関するリンカ エラーが発生します。繰り返しますが、mex ファイルで使用されていない場合、同じコードは正常に機能します。

理由は上記の SO の質問の回答と同じですか、それとも何か不足していますか? 理由が同じである場合、上記の質問で提案されたもの以外に別の解決策はありますか?

4

1 に答える 1

3

あなたのコードは Windows function を使用していると思いますLoadLibrary。LoadLibrary 呼び出しが失敗した理由を確認するには、 GetLastErrorからの戻り値を確認する必要があります。

于 2011-04-04T10:19:26.270 に答える