我正在尝试使用第三方库(.a),我没有源代码,这在旧的应用程序中有效。我将旧应用程序导入Xcode 7并成功构建并运行它。这些库依赖于扩展名为.dylib的系统库。该程序仍然有效。
然后我尝试使用相同的库构建一个新的应用程序。但是,我不得不用他们的.tbd等效替换系统库。当我发出构建命令时,我收到链接错误,如下所示库名为libavutil.a
ld: library not found for -lavutil
clang: error: linker command failed with exit code 1 (use -v to see invocation
我在堆栈溢出帖子中读到了需要添加到其他链接器标志的问题。在构建设置中。
我的问题是:
答案 0 :(得分:0)
通过阅读其他人遇到的类似链接器错误的SO帖子,有人建议不要向-lavutil
添加other linker flags
类似的语句,而是将库拖放到窗口中打开了多个价值观。这很好用。拖放维护正确的相对目录结构,并消除链接器在查找库时可能遇到的歧义。删除了链接器错误,我可以执行该程序。
总之,我切换到Xcode 7,将目标更改为9.2,拖动我的第三方库,然后构建并运行。