【问题标题】:libtool vs ar for creating a static library (xcode linker)libtool vs ar 用于创建静态库(xcode 链接器)
【发布时间】:2009-10-19 21:59:30
【问题描述】:

在 Mac 10.5 上通过 libtool 使用 xcode 和通过命令行使用 ar 创建一个静态库都会生成一个 libMainProject.a 文件,但是,当尝试使用 libtool 生成的文件链接到 xcode 应用程序时,我最终会得到多个像这样的消息

"project1 的 vtable 引用自: _ZTV27project1$non _lazy_ptr in libMainProject.a(project1.o)"

使用 ar one 完全没问题,并且链接正确。我尝试在链接时向 libtool 添加 -c 选项,但这似乎没有影响。所以我想我的 2 个选项是

1) 找出导致 ar 和 libtool 版本之间符号差异的原因,并使 libtool 生成相同的信息。

2) 让 xcode 使用 ar 而不是 libtool 来生成静态库。

任何想法或建议将不胜感激。

提前致谢。

【问题讨论】:

    标签: xcode unix-ar non-lazy-ptr libtool-xcode


    【解决方案1】:

    我建议使用ar 解压缩静态库。你最终会得到*.o 文件。然后使用gobjdump(您可能必须自己从MacPorts/fink/homebrew 安装)查看*.o 文件中的内容并比较两个版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      相关资源
      最近更新 更多