ソフトウェアバージョン:
matlab2020b
対 2019
いくつかの落とし穴を簡単に紹介します
1.コード環境
他人が書いたプロジェクトファイルを使用しているため、vsで開くと前回の編集情報が残っているため
したがって、インポートするときは、プロパティで独自の構成を更新する必要があります。
- プロジェクト名を右クリック -> [プロパティ] をクリックして、プロジェクトのプロパティ ページを開きます。
- [構成プロパティ] -> [C++] -> [追加のインクルード ディレクトリ] で、MATLAB ディレクトリの下に \extern\include パスを追加します。
- [構成プロパティ] -> [リンカー] -> [追加のライブラリ ディレクトリ] で、MATLAB ディレクトリの下に \extern\lib\win64\microsoft パスを追加します。
2.プラグインがありません
mex64 ファイルを生成するときに、LINK Error cannot find mscoree.lib が表示されます。
解決:
.NET フレームワークの SDK では、フレームワークの任意の SDK パッケージである必要があります。インストールする適切なバージョンを見つけてください。ここで 4.6.2 をインストールしました
3.実行してデバッグする
ブレークポイントの設定、プロセスのアタッチ
ピットがあります
私のコードは、生成された mex64 ファイルを matlab で呼び出すことであり、vs プロジェクトによって生成されたファイルと同じフォルダーにはありません。私は matlab コードで直接デバッグし、狂ったようにエラーを報告し、通常のデバッグにまったく入ることができませんでした
エラーはすべて null ポインターであり、ソースを指していません
正しい方法:
生成された mex64 ファイルをコマンド ラインに入力すると、現在のパスが vs プロジェクトの下に設定されます。
デバッグもスムーズ!
デバッグ後、ファイルを matlab にコピーします。