架构x86_64: Mac OS 10.8的未定义符号



总的来说,我知道这个错误是什么意思。但这是我的问题的独特之处-

  1. 我确实有带有链接器无法找到的符号的(静态)库。我运行'nm'来验证这一点,显式地查找x86_64符号。它们的存在。
  2. 但是-我也有一个动态库在相同的位置与相同的名称。我的猜测是链接器正在抓取。dylib,而不是。a,因此无法找到它需要的符号。

我确实找到了这篇关于当你有静态&当有一个同名的共享库存在时,我如何强制与静态库链接。

问题是我正在使用Ant构建脚本,并尝试了一些不同的东西来合并上面帖子中的解决方案,但没有太大成功。

我的问题是-

  1. 我的直觉在上面的#2中是正确的吗?
  2. 有人知道一个Ant脚本的解决方案吗?我在Ant中尝试过的一些事情是-
    一个。"linkerarg value="static" <-问题是它试图为cr0 .o找到一个静态库
    b。linkarg value="static",后面跟着llibname"linkerarg value = "

UPDATE -我对链接器拾取.dylib而不是.a是正确的-我将静态库(.a)重命名为其他东西,它能够找到它需要的所有符号。现在的问题是—我们如何显式地指示Ant脚本拾取.a而不是.dylib?

ANSWER -它是一个名为force_load的链接器标志。所以-force_load filename。A会这么做的

这是一个名为*force_load*的链接器标志。所以-force_load filename。A会这么做的

相关内容

  • 没有找到相关文章

最新更新