Simulink Embede Coderで生成され​たdllによる計算が​正しく算出されません

4 ビュー (過去 30 日間)
和也
和也 2022 年 12 月 7 日
回答済み: 和也 2022 年 12 月 12 日
Simulink Embeded Coderから生成されたdllをMicrosoft Visual Studio professional 2017(使用言語Visual Basic)環境で読み込んで利用しようとしております。生成されたdllは64bitのようであり、32bit優先にチェックを入れたまま実行すると以下のエラーが出て
しまいます。チェックを外すと実行しますが間違った値を算出してしまいます。
やはり32bit用に作られたdllでないと正しく動作しないのでしょうか?Simulink Embeded Coderで32bit用dllを作成する方法は
ないのでしょうか?
詳しい方ご回答よろしくお願いします。
System.BadImageFormatException: '間違ったフォーマットのプログラムを読み込もうとしました。 (HRESULT からの例外:0x8007000B)'

回答 (3 件)

Toshinobu Shintai
Toshinobu Shintai 2022 年 12 月 7 日
英語ですが、こちらの記事でその方法が解説されています。
コンフィギュレーションパラメーターで設定できるようにするためには、こちらのドキュメントで紹介されている「ツールチェーンの登録」を行わないといけないようです。
  1 件のコメント
和也
和也 2022 年 12 月 12 日
因みにですがツールチェーンは自動で判別し、
Microsoft Visual C++ 2017 v15.0 | nmake(64-bit Windows)
が選択されています。
VBで動作するDLLを作成しようとするとツールチェーンもVB用のものが必要ではないかと思いますが
いかがでしょうか?そもそもVB用のツールチェーンがあるのか判らないですが。

サインインしてコメントする。


和也
和也 2022 年 12 月 7 日
Visual studioの32bit優先プロパティチェックは以下から設定しております。

和也
和也 2022 年 12 月 12 日
Mathworksのテクニカルサポートに問い合わせたのですが、参考情報ばかりで
結局出来るのか出来ないのか結論がでません。
おそらく完全にできる人がいないからこんなたらいまわしになるのではないかと思ってしまいます。
リンク先のソフトはサポートしてないのは判りますが、活用できないと意味がない機能なのでエントリー的な
説明も必要だと思うのですが、、、、それさえあれば踏み出していけるものだと感じております。

カテゴリ

Help Center および File Exchangeコード生成 についてさらに検索

タグ

製品


リリース

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!