【问题标题】:Xcode Linker Issue - Other LD Flags won't clearXcode 链接器问题 - 其他 LD 标志不会清除
【发布时间】:2013-03-20 22:25:30
【问题描述】:

我是一个菜鸟,我遇到了链接器标志的问题。

我尝试构建自己的 ssh2 库,然后我克隆了一个 git 存储库,其中包含已构建的库中的一个项目。

在下载已编译的二进制文件之前,我正在使用 gcrypt 构建并将 -lgrcrypt 库添加到其他链接器标志。

使用我正在使用的这个新库集,我不再需要 gycrpt,因此我删除了链接器标志。但是,这并没有清除链接器选项。尽管在项目属性中清除了它们,我仍然得到所有旧的链接器标志。

错误表明 -lgrypt 仍在作为链接器标志处理:

-no_implicit_dylibs -mios-simulator-version-min=6.0 -lgcrypt

如何将链接器标志重置为原来的状态?

提前致谢

【问题讨论】:

  • 你使用的模拟器,是ios 6还是以上。因为链接器说错误与模拟器有关。该框架仅在 ios 6 或更高版本的模拟器上运行。
  • 抱歉,这是错误消息:ld: library not found for -lgcrypt clang: error: linker command failed with exit code 1(使用 -v 查看调用)。相同的预构建库在另一个项目中编译,只是我用其他链接器标志搞砸了这个项目,现在它仍在寻找我没有使用的 grcrypt 库。
  • 感谢 Code Monkey -- 我想这就是剩下要做的 -- 移植到一个新项目。我在另一个论坛中遇到了另一位在搜索库搜索路径中遇到相同问题的海报——在 GUI 中删除它们后仍然保持相同的值。我是一个完全的菜鸟——无论如何我可以将你的评论标记为答案吗?
  • 我只是将评论作为答案,如果您愿意,可以将其标记为正确答案。

标签: xcode linker flags


【解决方案1】:

我认为您已经检查了标志并在项目的目标级别中删除了该库的路径,并且还清理了构建并从管理器和 xcode 内部删除了先前的构建,并且还重置了您的模拟器,并且还检查了您计算机上的项目文件夹,并从项目的库文件夹中删除了该库。这些是必要的步骤,如果您已完成所有这些步骤,那么除了将您的代码移植到新项目并尝试再次编译之外,我想不出其他任何方法。祝我的朋友好运。

【讨论】:

  • 再次感谢 Code Monkey。有一个圆满的结局。我所做的是复制整个项目文件夹作为备份,然后玩弄,删除派生数据和所有我能想到的缓存。我尝试删除所有的静态库,并把链接器弄得一团糟。所以我只是将项目文件夹重命名为备份名称,并将其替换为原始备份。在偶然的机会我进行了构建并且链接器参数消失了并且它在没有将其移植到新项目的情况下工作。我不知道那里发生了什么,但我很高兴它自己痊愈了。
  • 太棒了。所以现在你可以回到编码。玩得开心我的朋友。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-24
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 2017-11-14
相关资源
最近更新 更多