【发布时间】:2012-07-06 16:47:02
【问题描述】:
我收到以下错误:
ld:找不到 -lGoogleAnalytics 的库 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
我花了一些时间在谷歌上搜索,但找不到解决此问题的方法。我是 xcode 的新手,这是我需要处理的现有项目。
【问题讨论】:
-
每当我尝试归档 .ipa 时都会遇到同样的错误。你是怎么解决的?
标签: xcode
我收到以下错误:
ld:找不到 -lGoogleAnalytics 的库 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
我花了一些时间在谷歌上搜索,但找不到解决此问题的方法。我是 xcode 的新手,这是我需要处理的现有项目。
【问题讨论】:
标签: xcode
您需要设置项目的“链接器搜索路径”(对于调试和发布版本)。如果这个库位于项目的同级目录中,那么您可以像这样设置它:
$(PROJECT_DIR)/../GoogleAnalytics/lib
(您要避免使用绝对路径,而是保持库目录相对于项目)。
【讨论】:
ld) 的 -L 选项。与其说是使用 Xcode 的经验,不如说是使用底层工具的经验; Xcode 提供了对编译器/链接器/等选项的简化访问。但是假设您知道这些选项的作用。
在我的例子中,项目使用 CocoaPods。我的项目中缺少一些文件。
所以我从 CocoaPods 安装它:https://cocoapods.org/。
如果项目使用 CocoaPods,我们必须注意始终打开 Xcode 中的 .xcworkspace 文件夹而不是 .xcodeproj 文件夹。
【讨论】:
总而言之,Xcode找不到library/header/framework的位置,然后你告诉Xcode他们在哪里。
在 Build Settings --> Library/Header/Framework Search Paths 中设置 Xcode 用来查找 library/header/framework 的路径。
说,现在找不到-lGoogleAnalytics,所以你将-lGoogleAnalytics所在的目录添加到Library Search Paths。
【讨论】:
对我来说,我打开 projectname.xcworkspace 文件,一切正常。
【讨论】:
如果您安装了 pod,请确保打开 工作区文件夹(白色 Xcode 图标)而不是项目文件夹。这解决了library not found for ... 错误。非常简单的问题,但我被困了很长时间。
【讨论】:
如果您使用 Pods 将 GoogleAnalytics iOS SDK 包含到您的项目中,值得注意的是,自 3.0 版本以来,您的 Other Linker Flags 需要包含 -lGoogleAnalyticsServices 而不是旧的 -lGoogleAnalytics
【讨论】:
如果您的库文件名为 libGoogleAnalytics.a,您需要输入 -lGoogleAnalytics 以确保 .a 文件按照您的预期命名
【讨论】:
您也可以尝试使用--use-library 选项lint,因为从 v0.36 开始,cocoapods lint 库默认作为框架
【讨论】:
问题可能如下:SVN 忽略 .a 文件,因为它的全局配置,这意味着有人没有将 libGoogleAnalytics.a 提交给 SVN,因为它没有出现在 SVN 中。因此,现在您尝试从 SVN 中检查项目,该项目现在错过了 libGoogleAnalytics.a(因为它被忽略且未提交)。当然构建失败了。
您可能希望将全局忽略配置从 SVN 更改为停止忽略 *.a 文件。
或者只是将缺少的 libGoogleAnalytics.a 文件手动添加到您的 SVN 工作副本中,而不是更改 SVN 全局忽略配置。
然后将 libGoogleAnalytics.a 重新添加到您的 XCode 项目并提交到 SVN。
【讨论】:
在 XCode 10.1 中,我必须将“库搜索路径”设置为类似 $(PROJECT_DIR)/.../path/to/your/library
【讨论】:
对我来说这是一件愚蠢的事情:我的 mac 将文件上传到了 iCloud,这就是 Xcode 找不到它的原因。
如果你关闭自动上传,它就不会再发生了。
【讨论】:
以上方法都不适合我,确保 Pod 文件平台 :ios, '11.0' 与 XCODE 设置中的最小部署目标相匹配
【讨论】: