S-Function​ビルダーでC++コー​ドをビルドすると,エ​ラー文が文字化けして​しまう

5 views (last 30 days)
hiks
hiks on 5 Apr 2023
Commented: Hiroshi Iwamura on 7 Apr 2023
S-Functionビルダーを利用してC++で記述したコードをビルドしSimulinkで呼び出そうとしているのですが,エラー文が文字化けしてしまいます。またシミュレーションの実行結果のエラーについても同様に文字化けしてしまいます。解決法などありますでしょうか。
なお,S-Function内では既存の.cpp及び.hファイルをincludeして利用しています。
またMatlab GUIは日本語,当該ソースの文字コードはSJISで設定しています。
文字化け例:
S-Function Builder ブロック 'test/S-Function Builder1' でエラーが発生しました。
原因:
testSFunc_wrapper.cpp
error C2660: 'addNum': �֐��� 1 �‚̈������w��ł��܂���B
note: 'addNum' �̐錾���mF���Ă�������
warning C4244: '����': 'const real_T' ���� 'int' �ւ̕ϊ��ł��B�f�[�^��������”\��������܂��B
warning C4244: '����': 'const real_T' ���� 'int' �ւ̕ϊ��ł��B�f�[�^��������”\��������܂��B

Accepted Answer

Hiroshi Iwamura
Hiroshi Iwamura on 6 Apr 2023
最近 S-Function は使っていませんが、C Caller / C Function では、
モデルコンフィグレーションパラメータ(Ctrl-E)-> シミュレーションターゲット -> インポート設定 で
「カスタムコードのシミュレーションを別のプロセスで行う」をチェック
でエラーメッセージの文字化けが解決しました。
ご参考までに
  2 Comments
hiks
hiks on 7 Apr 2023
ご返信・参考HPを共有いただきありがとうございます。
実は既にこちらのHPを参考にさせていただき,「カスタムレコードのシミュレーションを別プロセスで行う」を試してみたものの,文字化けが解消されず困っていたところでした。
この方法で解消されないということは,そもそもS-FunctionとC-Functionのビルドの仕組みが違うということなのでしょうか。。。
諦めてC-Functionを利用するほうが手っ取り早いかもしれない,と薄々感じております。
Hiroshi Iwamura
Hiroshi Iwamura on 7 Apr 2023
そうでしたか!
S-Function はかなり古くからあるので違うのかもしれませんね・・。
サポートにお問い合わせいただくか、C Function で間にあうのならその方が簡単でよいかもしれません。

Sign in to comment.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!