【发布时间】:2008-09-26 20:58:10
【问题描述】:
我正在使用 g++ 3.3.4 构建一个共享库。我无法链接到图书馆,因为我正在获取
./BcdFile.RHEL70.so: undefined symbol: _ZNSt8_Rb_treeIjjSt9_IdentityIjESt4lessIjESaIjEE13insert_uniqueERKj
c++filt 描述为
std::_Rb_tree<unsigned int, unsigned int, std::_Identity<unsigned int>, std::less<unsigned int>, std::allocator<unsigned int> >::insert_unique(unsigned int const&)
我认为这可能来自使用 hash_map,但我已将其全部拿出并切换到常规 std::map。我正在使用 g++ 进行链接,其中包括-lstdc++。
有谁知道哪个类会实例化这个模板?或者更好的是,我需要链接到哪个库?
编辑:经过进一步审查,似乎在编译时添加了 -frepo 标志导致此问题,不幸的是,该标志正在解决 gcc3.3 错误。
【问题讨论】:
-
那么,你有想过吗?
标签: c++ stl map linker shared-libraries