Link Xcode C++ 项目中的外部库

Link External Library in Xcode C++ Project

我找到了这个问题的答案,但它们对我不起作用。我正在尝试在 Xcode 中构建一个 C++ 项目,该项目使用来自 ffmpeg 和 openCV 的外部库,但我不知道如何 link 它们。按照建议,我转到 "Build Phases" 屏幕,"Link Binary with Libraries." 我需要 link 的库之一位于 /usr/local/lib/libavutil.a。当我尝试添加库时,会弹出一个列表框,显示两个文件夹:"OS X 10.11" 和 "Developer Frameworks"。我需要的库不在这两个文件夹中。我尝试单击 "Add Other" 并出现一个文件选择器对话框,但如果我在搜索框中键入“/usr/local/lib/libavutil.a”,该对话框不接受它。

我发现在 "Build Settings" 的 "Other linker flags" 行中输入 '-lswcale -lavcodec -lavdecice' 等是可行的,但这不是我所希望的。我希望得到一个文件选择器对话框,我可以在其中简单地单击我想使用的库。

有没有办法实现我想要的?

根据this,你可以试试:

1) Open the left panel, goto "ProjectName", Targets, Build phases, Link binary with libraries and select your library.

2) Open the left panel, goto "ProjectName", Project, Header Search Paths, write the path where the headers of your library are (the .h files, usually in /usr/local/include).

3) Open the left panel, goto "ProjectName", Project, Library Search Paths, write the path where your libraries are (the .a or .dylib files, usually in /usr/local/lib)

我希望你能确认这项工作适用于 Xcode7

在步骤 1) 您还可以:

  • 在 "Link Binary With Libraries" 下,单击加号按钮。

  • 单击 "Add Other..."(这是第 3 方库)。

  • 选择文件名(/usr/local/lib/libavutil.a)。

P.S.,我不能标记为 Dup,因为 that 不是公认的答案

由于没有其他人提供有效的答案,我正在记录我发现的唯一可行的方法是为 "Library Search Paths" 下的库设置搜索路径,然后添加 -l 标志对于 "Other Linker Flags" 部分中的每个库,就像在命令行命令行中一样:

如果我理解正确的话,你只是想 "set" 文件选择器对话框在正确的位置,对吧?

如果是这样,您只需在文件选择器对话框中按 Cmd + Alt + G,然后单击 [=20] 中的 "Add Other..." =] 菜单。出现一个 "Go to the folder:" 对话框,您可以在其中键入要查找的文件或文件夹的完整路径。

希望对您有所帮助!