S-Function BuilderからVisual Studio2017で作成したDLLを利用するにはどのようにすればよいですか
조회 수: 6 (최근 30일)
이전 댓글 표시
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
채택된 답변
Akihiro Yasuda
2017년 5월 25일
結論から申し上げますと、MEXコマンド自体がdllの取り込みに対応していないため、libでの作成をお勧めします。
ソースコード側でLoadLibraryやGetProcAddressなどdllを取り込むコードを記述し、legacy_code関数により、シミュレーション開始・終了時の関数を設定して頂ければ、S-Functionは作成できますが、一般的なアプローチでない事からお勧めできません。
댓글 수: 0
추가 답변 (0개)
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!