【问题标题】:linker command failed with exit code 1, framework and library errors链接器命令因退出代码 1、框架和库错误而失败
【发布时间】:2014-09-24 19:20:18
【问题描述】:

我最近收到了 2013 年(去年)构建的应用程序的源代码。但是,当我尝试运行它时,我收到 3 个警告:

ld: warning: directory not found for option '-L/Users/chesteryeum/iOS/appName/appName_chester'

ld: warning: directory not found for option '-L/Users/chesteryeum/iOS/appName/appName_chester/ZBarSDK'

ld: warning: directory not found for option '-F/Users/chesteryeum/iOS/appName/appName_chester'

还有一个错误

ld: library not found for -lzbar
clang: error: linker command failed with exit code 1 (use -v to see invocation)

补充几点:

1)chesteryeum 是之前开发者的名字,/Users/chesteryeum 不在我的电脑上,也不能在finder中找到。

2) Other Linker Flags 为空,Framework Search Paths 为空,Library Search Paths 为空。

3) 应用程序似乎是在 xCode 4 中构建的,而我使用的是 xCode 5。

任何帮助将不胜感激,

提前致谢,

-尼克

更新:Droppy的回答已经修复了3个警告,但错误仍然存​​在。

【问题讨论】:

  • 您正在开发的应用程序是否名为“Gluten247”?

标签: ios objective-c xcode4 xcode5


【解决方案1】:

看起来库搜索路径被硬编码到他们磁盘上以前的开发人员位置。这显然很糟糕。

您需要做的是创建一个相对目录结构,然后将库/标题搜索路径设置为使用$(SRCROOT)/ZBarSDK 之类的内容。

【讨论】:

  • 如何创建相对目录结构?
  • 这适用于所有 3 个警告,但它没有修复错误。你对错误是什么有更多的想法吗?
  • 取决于目录结构。请将它与您正在使用的搜索路径值一起添加到您的问题中。另外,如果它不起作用,您为什么要接受答案?
  • 我不确定您所说的目录结构是什么意思,您是指组的组织方式吗?我接受了它,因为它在很大程度上解决了问题,并且一旦我了解如何按照您的建议进行操作,可能会解决其余问题。
  • @Peperononew 意思是 SDK 相对于应用程序的 Xcode 项目的位置。它可以在项目目录中 ($SRCROOT) 或作为兄弟 ($(SRCROOT)/../) 或任何地方,但您必须保持相对关系才能使 $SRCROOT 工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-08
  • 2017-04-12
相关资源
最近更新 更多