【发布时间】:2015-03-16 11:12:16
【问题描述】:
我正在尝试创建一个 boost::locale 的静态库并看到一个奇怪的行为:在 objdump 中出现了几个已定义和声明未定义的函数(这里是其中之一):
$ objdump -t libboost_locale.a | grep posix14create_convert
00000000000000a3 g F .text 0000000000000335 _ZN5boost6locale10impl_posix14create_convertERKSt6localeNS_10shared_ptrIP15__locale_structEEj
0000000000000000 *UND* 0000000000000000 _ZN5boost6locale10impl_posix14create_convertERKSt6localeNS_10shared_ptrIP15__locale_structEEj
当我链接到这个文件时,我得到一个“未定义的引用”错误。虽然,许多其他的 boost 函数都按预期工作。
一切都是由我们公司使用的相当复杂的构建系统构建的,所以很遗憾我无法向您展示构建命令。
这种奇怪行为的原因是什么?
【问题讨论】: