問題タブ [codegen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
76 参照

matlab - matlab codegenを使用していますが、.dllがコンピューターにないため、出力.exeファイルを開始できません

次のように、 matlab 2015a を使用して windows7 でファイルを生成.c.dllました。

次のように、コマンドプロンプトでgccを使用.dllして、生成されたメインファイルとともに出力ファイルを使用したいと思います。.c

.exe ファイルが生成され、cmd で次のように実行しようとしていますa.exe。ただし、次のエラー メッセージエラー メッセージが表示されます。

「.dll がコンピューターにないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてください」

.dll ファイルは a.exe と同じ場所にありますが。

ここでの奇妙な問題は、/a.out を実行することで同じ手順が Linux でうまく機能し、出力が問題なく出力されることです。

全体の問題は、生成された a.exe が .dll を認識できるようにする方法だと思います-前に述べたように-両方とも同じフォルダーにあります。

システム変数にフォルダーのパスを追加しようとしました。ただし、同じエラーメッセージが表示されました。

だから私は間違ったステップをしていますか? .exe ファイルを生成し、main.c と、matlab codegen から生成された付随する .dll の両方から実行する他の方法はありますか?

0 投票する
1 に答える
195 参照

c - c プログラムで codegen matlab から生成された .dll ファイルを呼び出す

次のように、MATLAB R2016b を使用codegenして .dll ファイルを生成しています。

Visual Studio 2015 を使用して dll ファイルを参照として含めようとしましたが、何もうまく機能せず、.lib ファイルをリンカーとして使用することもできませんでした。

奇妙なことに、gcc次のように C 関数を呼び出す .c スクリプトを出力 .so ファイル (Windows の .dll に相当) と一緒にコンパイルすることで、Linux で簡単に使用できます。

ただし、Windows で直接的な方法は見つかりませんでした。C メイン スクリプト プログラムで MATLAB によって出力された .dll ファイルを使用して呼び出すにはどうすればよいですか?

.def ファイルも生成されますが、出力 dll ファイルと一緒に使用する方法はわかりません。