S-Function BuilderからVisual Studio2017で作成したDLLを利用するにはどのようにすればよいですか
6 views (last 30 days)
Show older comments
Yusuke Ujitoko
on 25 May 2017
Answered: Akihiro Yasuda
on 25 May 2017
S-Function BuilderからVisual Studio2017で作成したDLLを利用するにはどのようにすればよいですか。
S-Function Builderの「ライブラリ」ペイン中で、 .libファイルを指定し、また、インクルードファイルとしてヘッダファイルを読み込んでいます。
「出力」ペインにおいて、ヘッダファイルで指定した関数を記述しており、 ビルド実行すると、S-fucntion名_wrapper.cファイルが生成されるのですが、
下記のエラーが出ます。
C:\...\AppData\Local\Temp\mex_7597249593262_5544\twice_wrapper.obj:twice_wrapper.c:(.text+0x16): undefined reference to `twice' collect2.exe: error: ld returned 1 exit status コンポーネント:S-function Builder | カテゴリ:Buildエラー
MATLAB上でgetenv PATHで表示されるパス上にDLLやlibファイルを置いているのですが..
0 Comments
Accepted Answer
Akihiro Yasuda
on 25 May 2017
結論から申し上げますと、MEXコマンド自体がdllの取り込みに対応していないため、libでの作成をお勧めします。
ソースコード側でLoadLibraryやGetProcAddressなどdllを取り込むコードを記述し、legacy_code関数により、シミュレーション開始・終了時の関数を設定して頂ければ、S-Functionは作成できますが、一般的なアプローチでない事からお勧めできません。
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!