2017-02-05 18 views
2

私はDS5コンパイラを使用して自分のコードをコンパイルしようとしています。リンク状態では、リンカーにエラーが発生しています。警告が表示されますが、未定義の参照などの具体的なエラーはありません。誰かが同じLDリンクに失敗しました - 不正な値

ログに私を助けることができることは、あなたが32ビットであることをすべて列挙型を強制的に-fno-ショート列挙型のgccコンパイラスイッチを使用する場合、この問題が発生する可能性が

/usr/local/DS-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: warning: /opt/arm-2010.09/lib/gcc/arm-none-eabi/4.5.1/libgcc.a(bpabi.o) uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail 
/usr/local/DS-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: warning: /opt/arm-2010.09/lib/gcc/arm-none-eabi/4.5.1/libgcc.a(unwind-arm.o) uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail 
/usr/local/DS-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: warning: /opt/arm-2010.09/lib/gcc/arm-none-eabi/4.5.1/libgcc.a(pr-support.o) uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail 
/usr/local/DS-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: warning: /opt/arm-2010.09/lib/gcc/arm-none-eabi/4.5.1/libgcc.a(_divdi3.o) uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail 
/usr/local/DS-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: warning: /opt/arm-2010.09/lib/gcc/arm-none-eabi/4.5.1/libgcc.a(_udivdi3.o) uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail 
/usr/local/DS-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: .ddr_text has both ordered [`.ARM.exidx.atcm_text' in .//hw/obj/target/hw.a] and unordered [`.ARM.extab' in /opt/arm-2010.09/lib/gcc/arm-none-eabi/4.5.1/libgcc.a(_udivdi3.o)] sections 
/usr/local/DS-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: final link failed: Bad value 
collect2: error: ld returned 1 exit status 
make: *** [all] Error 1 

答えて

0

以下の通りです。実際の警告メッセージは、リンカーのターゲットが可変サイズの列挙型に設定されているときにリンカーから取得されます。

コンパイラスイッチ-fshort-enumsを指定すると、すべての列挙型が一貫しているため、警告が消えてしまいます。それは良いニュースです。悪い知らせは...もしあなたが本当に列挙型が32ビットであることを要求するなら、私はリンカがそうするために必要なオプションを知らない。これは私の問題です。私はそれが他のビルド設定によって暗示され、まだ見ていると信じています...

関連する問題