3

私はC++関数を実行するmatlabコードを持っています.それは私のコンピューターまたは私が実行しようとした他のデスクトップでうまく動作します. (他のデスクトップで実行するために、matlab/c++ 関数と mex ファイルをコピーしました)

最近、sge クラスターでコードを実行しようとしましたが、エラー メッセージが表示されます

「タイプ 'double' の入力引数に対して未定義の関数 'img'」

「img」は、matlab によって呼び出される C++ 関数です。

誰かが同じ問題に遭遇しましたか?誰もそれを解決する方法を知っていますか?

10x エラド

4

1 に答える 1

1

ラップトップ/デスクトップと SGE で異なる OS を使用しているようです。mexアーキテクチャが異なる場合は、C++ コードを再作成する必要があります。

mexsge で構成する

>> mex -setup

を使用することを強くお勧めしgccます。mexこれで、C++ コードを作成できます。mex ファイルのファイル拡張子は、windows/sge だけでなく、32 ビット システムと 64 ビット システムでも異なることに注意してください。

mex ファイルの正しい拡張子がない場合 (mexextコマンドを使用して確認できます)、Matlab は実行する関数を見つけることができず、取得したものと同様のエラーが発生します。

ハッピーハヌカ。

于 2012-12-13T17:13:35.803 に答える