ASUS Tinker Board で delegated のコンパイル
魔術師です。ASUS Tinker Board の TinkerOS-debian で delegated-9.9.13 がコンパイル出来ない件でエラーはcredhy.c:112:1: error: narrowing conversion of ‘2147483648u’ from ‘unsigned int’ to ‘int’ inside { } [-Wnarrowing] }; ^unsigned int を int に代入して取り得る値の範囲が違うのでエラーになったのでした。CPU コアが Raspberry Pi3 は ARM 64bit コアTinker Board は ARM 32bit コアなのでそのせいかとも思ったのですがC++ コンパイラの g++ のバージョンが Raspbian に比べえらい進んでいることに気付きました。ラズパイ Raspbian# dpkg -l g++要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)||/ 名前 バージョン アーキテクチャ 説明+++-======================-================-================-=================================================ii g++ 4:4.9.2-2 armhf GNU C++ compilerASUS TinkerOS# dpkg -l g++要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)||/ 名前 バージョン アーキテクチャ 説明+++-======================-================-================-=================================================ii g++ 4:6.3.0-4 armhf GNU C++ compilerg++ 4.9.2 と 6.3.0 の違いです。C++ バージョン規格の C++0x の仕様で unsigned int を int に代入するのもエラーになったみたいです。そこで新バージョンの仕様を無視するオプションを設定することでコンパイルが通るようになりました。make CFLAGS="-O2 -std=c++0x -Wno-narrowing"無事にバイナリーが生成出来ました。ラズパイのバイナリーを使ってもいいのですけど原因も判ってこれで一安心です。人気記事の一覧のあるトップへ楽天のサービス紹介ページへ飛ぶ星影の魔術師に応援のクリックをポチッとお願いします。 皆さんの、協力に感謝しています。