▼スレッド
│
└◇621:G++のリンカ(LD)がオカシイ? [eta] 10/01 14:44
└◇622:Re:G++のリンカ(LD)がオカシイ? [な] 10/01
└◇628:Re[2]:G++のリンカ(LD)がオカシイ? [eta] 10/01 <
G++で単純なソースファイルをコンパイルしたところ、コンパイラは通るのですが、スレッド一覧
リンカでの次のようなワーニングが大量に発生し、
! /usr/local/se3208-elf/bin/ld: warning: no memory region specified for section `.gnu.linko
* nce.t._._19__pointer_type_info'
最後に、
! /cygdrive/c/DOCUME~1/ore808/LOCALS~1/Temp/ccMDWNGJ.o(.data+0x14): undefined reference to
* `global destructors keyed to streambuf::_un_link(void)'
! collect2: ld returned 1 exit status
! make: *** [test] Error 1
となって、うまくリンカが通りません;;;
VC++なら問題なく通るものなのですが。
"no memory region specified for section 〜"というのは、
もしかして、LDがメモリ確保に失敗してるってことなんですか?
回避方法が解る方がいましたら、どうぞ宜しくお願いいたします。
見るからに、エラーメッセージを出しているのがスレッド一覧
/usr/local/se3208-elf/bin/ld であるようですが、
クロス開発をされているのなら、お使いの ld が読んでいる linker script の
記載がおかしいということになります。
クロス開発をされていないのにもかかわらず、se3208-elf な ld が
使われてしまうのなら、パス上にコンパイラドライバが
複数存在していたりはしないでしょうか。
お使いになっている g++ が cygwin リリースのものでなければ、
インストールした方以外には誰にも回答はできないと思います。
ご返答ありがとう御座います。スレッド一覧
現在、クロス開発をしていますので、使用しているldも正しいのですが、
linker scriptに問題があるようですね。
同じscriptで、Cソースのとき大丈夫だったんですが、
C++にしたら、リンクでエラーが発生するようになりました。
linker scriptのことは詳しくないのですが、
もう少し調べてみます。