私はこの分野では不慣れで、経験豊富な人々の助けが必要です.
gcc-4.7.2 を搭載した redhat マシンで製品をビルドしようとしています。lstdc++ を静的にリンクしています。その結果、未定義の参照の問題が発生しています。
具体的には、いくつかの詳細を示します。
- -Wl,--verbose オプションを指定してビルドすると、次のように表示されます: RHEL5.5/gcc-4.7.2/lib/libstdc++.a が成功しました
- nm --demangle RHEL5.5/gcc-4.7.2/lib/libstdc++.a | grep "_M_hook" の表示: 00000000 T std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)
- しかし結果として: sym_sdfio_ioinfo.cpp:(.text+0x598e): undefined reference to
std::_List_node_base::_M_hook(std::_List_node_base*)' ../../lib/debugger/ye_datagen/tmax/lib/libsym_kernel-O.a(sym_sdfio_ioinfo_rw.o): In function
CIOInfo::LoadSegment(long long, SYM_SDF::CSDFFilter const*, SYM_SDF::CSDFSegment*)': sym_sdfio_ioinfo_rw.cpp:(.text +0xf3d):std::_List_node_base::_M_hook(std::_List_node_base*)' ../../lib/debugger/ye_datagen/tmax/lib/libsym_kernel-O.a(sym_sdfio_rw_text.o):sym_sdfio_rw_text.cpp:(.text+0x1592): more undefined references to
std::_List_node_base::_M_hook(std::_List_node_base*) への未定義の参照' collect2 に従います: エラー: ld が 1 つの終了ステータスを返しました
私が見る唯一の奇妙なことは、 00000000 T std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)の " 00000000 " です
ここで何が欠けているのかを理解するのを手伝ってください。