MATLAB Answers

Simulinkコー​ダにおいて,コンパイ​ラオプションの設定方​法

3 views (last 30 days)
Naoto Fukunaga
Naoto Fukunaga on 2 Dec 2019
Commented: Naoto Fukunaga on 4 Dec 2019
SImulinkコーダでビルドをした際,下記エラーが発生しました.
error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
つきましては,Simulinkコーダのビルドにおいて,
コンパイラフラグに"-std=c++11"を追加する方法をご教示お願いします

  0 Comments

Sign in to comment.

Answers (1)

Toshinobu Shintai
Toshinobu Shintai on 3 Dec 2019
何らかのコンパイラはインストールされていますでしょうか。
無料のものとしては「MinGW」を使うことができます。もしインストールされていない場合は以下のページを参考にインストールしてみて貰えますでしょうか。
インストール後、コマンドウィンドウで「mex -setup C++」と入力することで正しく設定されているかどうかを確認することができます。

  3 Comments

Naoto Fukunaga
Naoto Fukunaga on 3 Dec 2019
回答ありがとうございます.
「MinGW」はインストール済みです.
「mex -setup C++」実行後に,再度ビルドしましたが,結果変わらずエラーとなりました.
暫定対策ではありますが,
Simulinkコーダのビルドによってターゲットハードウェア(Ubuntu)に生成されたコードの「CMakeLists.txt」の中身に「set(CMAKE_CXX_FLAGS "-std=c++11")」を加えたあと,
ターゲットハードウェア側のターミナルで「catkin_make」を実行すると,ビルドが通りました.
simulink「コンフィグレーションパラメータ」の「ビルドプロセス」の「ビルド構成」を変更することで,上記と同様の設定を加えることはできないでしょうか?
尚,「ツールチェーン」は「Catkin」です.
または,他の解決方法がございましたらご教示をお願いします.
Toshinobu Shintai
Toshinobu Shintai on 4 Dec 2019
最初の私の回答は的外れだったようで、失礼しました。
この辺りの設定に関してはあまり詳しくないのですが、添付画像のようにコンフィギュレーションパラメータの「コード生成」「ビルドプロセス」「ビルド構成」を「Specify」にするとオプションを追加できます。この項目の中に「-std=c++11」を加えてみてはどうでしょうか。
また一方で、コード生成までは問題なくできており、コード生成後のビルドを別のツールで実行しても問題ないということであれば、そのようにすることをお勧めします。ビルドボタンの機能をコード生成のみにするには、添付画像の「コード生成のみ」にチェックを入れればよいです。
お役に立てれば幸いです。
Naoto Fukunaga
Naoto Fukunaga on 4 Dec 2019
>この項目の中に「-std=c++11」を加えてみてはどうでしょうか。
⇒「C++ Comiler」に加えてみましたが,結果変わらずエラーとなりました.
前述の暫定対策で実行動作に問題はないので,Simuilnk側の設定方法がわかるまでは,
今の運用にします.
ご助力いただきありがとうございました.

Sign in to comment.

Sign in to answer this question.