我是这个领域的新手,需要有经验的人的帮助。
我正在尝试使用 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 ”
请帮我弄清楚我在这里缺少什么。