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

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"を追加する方法をご教示お願いします

Réponses (1)

Toshinobu Shintai
Toshinobu Shintai le 3 Déc 2019

0 votes

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

3 commentaires

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Coder dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!