找不到-lpj-arm-apple-darwin9的库[重复]

Posted

技术标签:

【中文标题】找不到-lpj-arm-apple-darwin9的库[重复]【英文标题】:Library not found for -lpj-arm-apple-darwin9 [duplicate] 【发布时间】:2014-08-22 18:47:59 【问题描述】:

我从网上下载了 pjsip 源代码。它运行时没有任何错误。但是,我将 openssl lib 和包含文件集成到该 pjsip > ipjsua xcode 项目中。编译 xcode 项目后,出现如下所示的 library not found 错误和警告,

ld: warning: directory not found for option '-L"/Users/aahlaad/Desktop/swyxpjsip/iospj2/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/../../../../pjlib/lib"'
ld: warning: directory not found for option '-L"/Users/aahlaad/Desktop/swyxpjsip/iospj2/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/../../../../pjlib-util/lib"'
ld: warning: directory not found for option '-L"/Users/aahlaad/Desktop/swyxpjsip/iospj2/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/../../../../pjmedia/lib"'
ld: warning: directory not found for option '-L"/Users/aahlaad/Desktop/swyxpjsip/iospj2/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/../../../../pjnath/lib"'
ld: warning: directory not found for option '-L"/Users/aahlaad/Desktop/swyxpjsip/iospj2/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/../../../../pjsip/lib"'
ld: warning: directory not found for option '-L"/Users/aahlaad/Desktop/swyxpjsip/iospj2/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/../../../../third_party/lib"'
ld: library not found for -lpj-arm-apple-darwin9
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

@jww 没有欺骗。啊,这是重复的,没有重复 :) 同样,静态库与框架不同,需要额外的过程。此外,库搜索路径问题大多与框架无关。 【参考方案1】:

删除您的派生数据并 转到项目->构建设置->搜索路径 并分别从 Framework/Header/Library Search Path 中删除所有内容,然后在 Project -> General ->Linked Frameworks and Libraries

中再次添加您的框架

【讨论】:

【参考方案2】:

ld: 找不到 -lpj-arm-apple-darwin9 的库

下面介绍如何在 Xcode 下添加头文件和库。它显示了如何添加 OpenSSL,但在您的情况下,对 PJSIP 执行相同操作。

标题:

图书馆:

如果您的 PJSIP 库有静态存档和共享对象,则删除共享对象。即使 iOS 只允许静态链接,Xcode 仍然会链接到共享对象(如果可用)。显然,Xcode 开发人员没有收到备忘录。


如果您需要帮助将 PJSIP 库添加到 Xcode 以使其显示在 Frameworks and Libraries 下,请参阅How to “add existing frameworks” in Xcode 4?。


如果您添加了 PJSIP 库但缺少架构,您可以使用以下内容查看 fat 库中的内容:

$ xcrun -sdk iphoneos lipo -info /usr/local/ssl/ios/lib/libcrypto.a 
Architectures in the fat file: libcrypto.a are: armv7 armv7s arm64 i386 

理想情况下,您将拥有四种架构:ARMv7、ARMv7s、ARM64 和 i386。 i386 用于模拟器下的调试构建。

如果您缺少一个架构,那么您应该使用缺少的架构重新构建库,然后使用lipo 将不同的架构组合成一个单一的胖库。

【讨论】:

以上是关于找不到-lpj-arm-apple-darwin9的库[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从“@angunlar/material”导入 DateAdapter ;在角度 9 中找不到

程序 'llvm-config' 版本 ==9.0.* 是必需的,但找不到

使用 xcode 10 后 Xcode 9 找不到资产

GDTCCTUploadOperation.m:36:9:找不到“GoogleUtilities/GULURLSessionDataResponse.h”文件

ng:在节点 v6.9.1 中找不到命令

Django 1.9.0:找不到页面 404 Django 媒体文件