【发布时间】:2020-10-30 22:14:59
【问题描述】:
操作系统:Mac 10.14.6 -- Xcode 版本:11.3.1
我有一个导入 Xcode 的外部 C++ 项目(使用现有的 makefile 构建),当我尝试构建它时,我收到以下错误消息:ld: library not found for -ljpeg。
奇怪的是,当我从命令行运行相同的构建命令 ($make all-recursive) 时,它会成功构建。我已经仔细检查过,相关的 .dylib 文件确实存在于 /usr/local/lib 中。从网上阅读看来,Xcode build-settings 似乎需要库搜索路径来包含 .dylib 文件所在的目录,所以我在目标“Build Settings”下添加了 LIBRARY_SEARCH_PATHS,但这并没有解决问题。
有什么原因让我想到为什么 Xcode 的构建命令会失败而我的不会?
【问题讨论】:
-
将 .dylib 拖到你的 xcode 项目中
-
完成后,如何告诉 Xcode 11 链接这些库?我会/认为/这将是“将二进制文件与库链接”阶段,但它是灰色的。
-
在将文件拖入 xcode 时,是否将文件复制到目标文件夹? XCode 会弹出一个提示,要求您这样做。
-
当将 dylib 拖入根项目文件夹时,我得到一个弹出窗口,提供三个选项:目标:如果需要,复制项目(未选中)、添加文件夹(创建组)和添加到目标(我的项目被选中)。我也事先通过 Finder 将 dylib 物理复制粘贴到了根项目文件夹中。我是使用 Xcode 的新手,所以如果这个 dylib 包含方法记录在某处,我将非常感谢链接!不幸的是,构建仍然失败并出现同样的错误。
-
尝试从根项目文件夹中手动删除它们,然后将它们拖入并选中“如果需要则复制项目”和“添加到目标”框,然后编译。