Linker 使用旧库时发生链接错误
我正在尝试使用第三方库(.a),我没有在旧应用程序中运行的源代码。我将旧的应用程序导入Xcode 7,并成功构建和运行了它。这些库依赖于具有extension.dylib的系统库,该程序仍然可以运行 然后我尝试使用相同的库构建一个新的应用程序。然而,我不得不用它们的.tbd等价物替换系统库。当我发出build命令时,出现了如下所示的链接错误,其中库名为libavutil.aLinker 使用旧库时发生链接错误,linker,xcode7,static-libraries,Linker,Xcode7,Static Libraries,我正在尝试使用第三方库(.a),我没有在旧应用程序中运行的源代码。我将旧的应用程序导入Xcode 7,并成功构建和运行了它。这些库依赖于具有extension.dylib的系统库,该程序仍然可以运行 然后我尝试使用相同的库构建一个新的应用程序。然而,我不得不用它们的.tbd等价物替换系统库。当我发出build命令时,出现了如下所示的链接错误,其中库名为libavutil.a ld: library not found for -lavutil clang: error: linker comma
ld: library not found for -lavutil
clang: error: linker command failed with exit code 1 (use -v to see invocation
我在stack overflow的帖子中读到,需要在构建设置中添加“其他链接器标志”
我的问题是:
通过阅读一些关于其他人遇到的类似链接器错误的SO帖子,有人建议我可以将库拖放到打开的窗口中,而不是将类似于
-lavutil
的语句添加到其他链接器标志中。这很有效。拖放保持正确的相对目录结构,并消除链接器在查找库时可能遇到的歧义。链接器错误被消除,我可以执行程序
总之,我切换到Xcode 7,将目标更改为9.2,拖动我的第三方库,然后构建并运行