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

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)'

Answers (3)

Toshinobu Shintai
Toshinobu Shintai on 7 Dec 2022

0 votes

英語ですが、こちらの記事でその方法が解説されています。
コンフィギュレーションパラメーターで設定できるようにするためには、こちらのドキュメントで紹介されている「ツールチェーンの登録」を行わないといけないようです。

1 Comment

和也
和也 on 12 Dec 2022
因みにですがツールチェーンは自動で判別し、
Microsoft Visual C++ 2017 v15.0 | nmake(64-bit Windows)
が選択されています。
VBで動作するDLLを作成しようとするとツールチェーンもVB用のものが必要ではないかと思いますが
いかがでしょうか?そもそもVB用のツールチェーンがあるのか判らないですが。

Sign in to comment.

和也
和也 on 7 Dec 2022

0 votes

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

0 votes

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

Categories

Products

Release

R2022a

Tags

Asked:

on 7 Dec 2022

Answered:

on 12 Dec 2022

Community Treasure Hunt

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

Start Hunting!