Armadilloフォーラム

ATDE6 ビルドエラー対処方法について

ikeda203

2018年4月19日 18時06分

お世話になっております。 池田です。当方、
Armadillo-IoT G3において、他社のUSB接続ゲートウェアを接続して、本GWを動作させるために、Exampleソースを
Aemadilloに構築するべく、ATDE6を使って、ビルドを実施しています。
当初は、Examlpeソフトのincledeファイル&ライブラリーファイルがインクロード方法が不明で作業が進みませんでしたが、
先日やっとExampleソースのincludeファイルとライブラリインクルード方法がわかり、ビルドを行ったところ、
下記のエラーが多数発生しました。
本件、当方の構築方法が誤っているのでしょうか?
ご指導をお願いします。

-----------
atmark@atde6:~/share/Lord$ arm-linux-gnueabihf-g++ -idirafter //home/atmark/share/Lord LordTest.cpp -o LordTest
In file included from /usr/include/c++/4.9/cstdint:35:0,
from /home/atmark/share/Lord/mscl/Types.h:11,
from mscl/Communication/Connection.h:12,
from LordTest.cpp:15:
/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support for the \
^
In file included from mscl/Communication/Connection.h:12:0,
from LordTest.cpp:15:
/home/atmark/share/Lord/mscl/Types.h:23:18: error: ‘int8_t’ in namespace ‘std’ does not name a type
typedef std::int8_t int8;
^
/home/atmark/share/Lord/mscl/Types.h:27:18: error: ‘int16_t’ in namespace ‘std’ does not name a type
typedef std::int16_t int16;
^
/home/atmark/share/Lord/mscl/Types.h:31:18: error: ‘int32_t’ in namespace ‘std’ does not name a type
typedef std::int32_t int32;
^
/home/atmark/share/Lord/mscl/Types.h:35:18: error: ‘int64_t’ in namespace ‘std’ does not name a type
typedef std::int64_t int64;
^
/home/atmark/share/Lord/mscl/Types.h:39:18: error: ‘uint8_t’ in namespace ‘std’ does not name a type
typedef std::uint8_t uint8;
^
/home/atmark/share/Lord/mscl/Types.h:43:18: error: ‘uint16_t’ in namespace ‘std’ does not name a type
typedef std::uint16_t uint16;
^
/home/atmark/share/Lord/mscl/Types.h:47:18: error: ‘uint32_t’ in namespace ‘std’ does not name a type
typedef std::uint32_t uint32;
^
/home/atmark/share/Lord/mscl/Types.h:51:18: error: ‘uint64_t’ in namespace ‘std’ does not name a type
typedef std::uint64_t uint64;
^
/home/atmark/share/Lord/mscl/Types.h:55:18: error: ‘uint32_t’ in namespace ‘std’ does not name a type
typedef std::uint32_t NodeAddress;
-----------
何か間違っていることがあれば、教えてください。

コメント

ikeda203

2018年4月20日 17時26分

大変申し訳ございません。 池田です。
アットマークテクノ殿、下記の件、ご回答を頂けないでしょうか。
当方の記載事項で不明点がある場合には、再度返信します。
今、完全に行き詰っています。Aemadillo購入お客様から、早期解決を要求されています。
ご検討をお願いします。
> お世話になっております。 池田です。当方、
> Armadillo-IoT G3において、他社のUSB接続ゲートウェアを接続して、本GWを動作させるために、Exampleソースを
> Aemadilloに構築するべく、ATDE6を使って、ビルドを実施しています。
> 当初は、Examlpeソフトのincledeファイル&ライブラリーファイルがインストール方法が不明で作業が進みませんでしたが、
> 先日やっとExampleソースのincludeファイルとライブラリファイルのインストール方法がわかり、ビルドを行ったところ、
> 下記のエラーが多数発生しました。
> 本件、当方の構築方法が誤っているのでしょうか?
> ご指導をお願いします。
>
> -----------
> atmark@atde6:~/share/Lord$ arm-linux-gnueabihf-g++ -idirafter //home/atmark/share/Lord LordTest.cpp -o LordTest
> In file included from /usr/include/c++/4.9/cstdint:35:0,
> from /home/atmark/share/Lord/mscl/Types.h:11,
> from mscl/Communication/Connection.h:12,
> from LordTest.cpp:15:
> /usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
> #error This file requires compiler and library support for the \
> ^
> In file included from mscl/Communication/Connection.h:12:0,
> from LordTest.cpp:15:
> /home/atmark/share/Lord/mscl/Types.h:23:18: error: ‘int8_t’ in namespace ‘std’ does not name a type
> typedef std::int8_t int8;
> ^
> /home/atmark/share/Lord/mscl/Types.h:27:18: error: ‘int16_t’ in namespace ‘std’ does not name a type
> typedef std::int16_t int16;
> ^
> /home/atmark/share/Lord/mscl/Types.h:31:18: error: ‘int32_t’ in namespace ‘std’ does not name a type
> typedef std::int32_t int32;
> ^
> /home/atmark/share/Lord/mscl/Types.h:35:18: error: ‘int64_t’ in namespace ‘std’ does not name a type
> typedef std::int64_t int64;
> ^
> /home/atmark/share/Lord/mscl/Types.h:39:18: error: ‘uint8_t’ in namespace ‘std’ does not name a type
> typedef std::uint8_t uint8;
> ^
> /home/atmark/share/Lord/mscl/Types.h:43:18: error: ‘uint16_t’ in namespace ‘std’ does not name a type
> typedef std::uint16_t uint16;
> ^
> /home/atmark/share/Lord/mscl/Types.h:47:18: error: ‘uint32_t’ in namespace ‘std’ does not name a type
> typedef std::uint32_t uint32;
> ^
> /home/atmark/share/Lord/mscl/Types.h:51:18: error: ‘uint64_t’ in namespace ‘std’ does not name a type
> typedef std::uint64_t uint64;
> ^
> /home/atmark/share/Lord/mscl/Types.h:55:18: error: ‘uint32_t’ in namespace ‘std’ does not name a type
> typedef std::uint32_t NodeAddress;
> -----------
> 何か間違っていることがあれば、教えてください。

shkoga

2018年4月20日 17時38分

こんにちは。サムシングプレシャスの古賀と申します。

池田さん:
>>Armadillo-IoT G3において、他社のUSB接続ゲートウェアを接続して、本GWを動作させるために、Exampleソースを
>>Aemadilloに構築するべく、ATDE6を使って、ビルドを実施しています。
>>当初は、Examlpeソフトのincledeファイル&ライブラリーファイルがインストール方法が不明で作業が進みませんでしたが、
>>先日やっとExampleソースのincludeファイルとライブラリファイルのインストール方法がわかり、ビルドを行ったところ、
>>下記のエラーが多数発生しました。
>>本件、当方の構築方法が誤っているのでしょうか?
>>ご指導をお願いします。
>>
>>-----------
>>atmark@atde6:~/share/Lord$ arm-linux-gnueabihf-g++ -idirafter //home/atmark/share/Lord LordTest.cpp -o LordTest
>>In file included from /usr/include/c++/4.9/cstdint:35:0,
>> from /home/atmark/share/Lord/mscl/Types.h:11,
>> from mscl/Communication/Connection.h:12,
>> from LordTest.cpp:15:
>>/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

このエラーメッセージの通りに、g++ のオプション引数に
 -std=c++11
かまたは
 -std=gnu++11
を追加したら、どうなるでしょうか?

ikeda203

2018年4月21日 13時13分

サムシングプレシャスの古賀さん、池田です。本件、返事ありがとうございます。
頂いたコメントを確認し、実施していきます。引き続き、何かあれば、また連絡します。
> こんにちは。サムシングプレシャスの古賀と申します。
>
> 池田さん:
> >>Armadillo-IoT G3において、他社のUSB接続ゲートウェアを接続して、本GWを動作させるために、Exampleソースを
> >>Aemadilloに構築するべく、ATDE6を使って、ビルドを実施しています。
> >>当初は、Examlpeソフトのincledeファイル&ライブラリーファイルがインストール方法が不明で作業が進みませんでしたが、
> >>先日やっとExampleソースのincludeファイルとライブラリファイルのインストール方法がわかり、ビルドを行ったところ、
> >>下記のエラーが多数発生しました。
> >>本件、当方の構築方法が誤っているのでしょうか?
> >>ご指導をお願いします。
> >>
> >>-----------
> >>atmark@atde6:~/share/Lord$ arm-linux-gnueabihf-g++ -idirafter //home/atmark/share/Lord LordTest.cpp -o LordTest
> >>In file included from /usr/include/c++/4.9/cstdint:35:0,
> >> from /home/atmark/share/Lord/mscl/Types.h:11,
> >> from mscl/Communication/Connection.h:12,
> >> from LordTest.cpp:15:
> >>/usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
>
> このエラーメッセージの通りに、g++ のオプション引数に
>  -std=c++11
> かまたは
>  -std=gnu++11
> を追加したら、どうなるでしょうか?
>

access.mihara

2018年4月20日 17時37分

三原と申します。

> Armadillo-IoT G3において、他社のUSB接続ゲートウェアを接続して、本GWを動作させるために、Exampleソースを
> Aemadilloに構築するべく、ATDE6を使って、ビルドを実施しています。

> atmark@atde6:~/share/Lord$ arm-linux-gnueabihf-g++ -idirafter //home/atmark/share/Lord LordTest.cpp -o LordTest

この LordTest.cpp を誰がコーディングなされたのか気になります(お客様がコーディングなされたのでしたら、Armadillo-IoT G3 の開発環境の制限への理解が必要になるかもしれません)が、詳しくは問いません。

> /usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

arm-linux-gnueabihf-g++ 自身が、ISO C++ 2011 規格のサポートは正式ではなく体験版であり、コンパイル時にコマンドラインオプション -std=c++11 あるいは -std=gnu++11 をつけて有効にしなければいけないとエラーを上げています。

次のようにコマンド入力したらコンパイルできますか?

arm-linux-gnueabihf-g++ -std=c++11 -idirafter //home/atmark/share/Lord LordTest.cpp -o LordTest

# "-std=c++11" を追加しています

ikeda203

2018年4月21日 13時08分

三原様、お世話になります。池田です。
下記の件、早速のご返答ありがとうございます。
LordTest.cpp は、当社社員です。スキル的にもArmadillo開発経験が少なく、投稿させて頂きました。
頂いた結果を社内で確認します。また、何かありましたら、投稿させて頂きます。
> 三原と申します。
>
> > Armadillo-IoT G3において、他社のUSB接続ゲートウェアを接続して、本GWを動作させるために、Exampleソースを
> > Aemadilloに構築するべく、ATDE6を使って、ビルドを実施しています。
>
> > atmark@atde6:~/share/Lord$ arm-linux-gnueabihf-g++ -idirafter //home/atmark/share/Lord LordTest.cpp -o LordTest
>
> この LordTest.cpp を誰がコーディングなされたのか気になります(お客様がコーディングなされたのでしたら、Armadillo-IoT G3 の開発環境の制限への理解が必要になるかもしれません)が、詳しくは問いません。
>
> > /usr/include/c++/4.9/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
>
> arm-linux-gnueabihf-g++ 自身が、ISO C++ 2011 規格のサポートは正式ではなく体験版であり、コンパイル時にコマンドラインオプション -std=c++11 あるいは -std=gnu++11 をつけて有効にしなければいけないとエラーを上げています。
>
> 次のようにコマンド入力したらコンパイルできますか?
>
> arm-linux-gnueabihf-g++ -std=c++11 -idirafter //home/atmark/share/Lord LordTest.cpp -o LordTest
>
> # "-std=c++11" を追加しています
>