我从网上下载了pjsip源代码。它运行时没有任何错误。但是,我将openssl lib和include文件集成到pjsip>中。 ipjsua xcode项目。编译完xcode项目后,我发现库找不到错误和警告如下,
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)
答案 0 :(得分:0)
删除您的派生数据和 转到项目 - >构建设置 - >搜索路径 并分别从框架/标题/图书馆搜索路径中删除所有内容,然后在项目 - >中再次添加您的框架常规 - >链接的框架和库
答案 1 :(得分:0)
ld:找不到-lpj-arm-apple-darwin9的库
以下是如何在Xcode下添加标头和库。它显示了如何添加OpenSSL,但在您的情况下,为PJSIP做同样的事情。
接头:
库:
如果 您的PJSIP库有两个静态存档和共享对象,则删除共享对象。即使iOS只允许静态链接,Xcode仍然会链接到共享对象(如果可用)。显然,Xcode开发人员没有收到备忘录。
如果您需要帮助将PJSIP库添加到Xcode,以便它显示在框架和库下,请参阅How to “add existing frameworks” in Xcode 4?。
如果您添加了PJSIP库但缺少体系结构,则可以使用以下内容查看胖库中的内容:
$ 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
将不同的架构组合到一个胖库中。