17

使用 xcodebuild 构建时遇到问题。我的项目/应用程序使用 Xcode - gui 构建得很好。它根本没有找到/构建作为构建过程一部分的 libcryptopp 库。

错误是:

clang: error: no such file or directory: '/Users/builder/repo/ioskpay/xcode-cryptopp/cryptopp/build/Release-iphoneos/libcryptopp.a'  

这个特定的文件应该来自主应用程序中的另一个项目 - xcodebuild 根本没有正确指向正确的文件夹,应该是:

~/Library/Developer/Xcode/DerivedData

有任何想法吗?

4

9 回答 9

23

要解决此问题,请转到您的项目设置,转到Targets并选择您的主要项目目标。然后去Build phases。在Target dependencies添加静态库项目下。

这样,当你编译主项目时,静态库子项目在主项目之前被编译,你的静态库将可用。

于 2013-04-10T17:51:07.570 回答
4

我有同样的问题,但是对于资源文件 .m

我打开了目标-> 构建阶段-> 编译源

我发现编译器告诉它找不到重复的文件:一个带有奇怪图标,另一个带有普通图标。我只是删除了带有奇怪图标的那个,它起作用了。(我多次添加了文件,在此之前我遇到了合并冲突,导致项目文件出现问题)

对于您的情况,我认为您需要从目标依赖项列表中删除该库并再次添加它。这可能对你有用。

于 2016-05-25T14:12:46.853 回答
1

我的 xCode 信息是:

图片

我在 xcode 构建项目(native swift、flutter、react native、native script)中遇到了类似的错误,其中我收到了与 clang 编译器相关的错误消息。像这样的错误:

  • clang-4.0:错误:没有这样的文件或目录:'/Users/xxxxxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxxxxxx/Index/Data Store'
  • clang-4.0:错误:生成多个输出文件时无法指定 -o
  • 其他

尽管与本机应用程序的 DerivedData 相关的错误可以通过删除目录并最终重新启动 xCode 甚至重新启动机器来修复......在这种情况下,您将看到在删除目录并再次开始构建过程后,错误回来。

然后,是通过运行检查 clang 安装的时刻clang --version。正常输出将类似于:

图片

如您所见InstalledDir,xCode 不正确。就我而言,几天前我需要安装 Anaconda 应用程序(R、Python 等),现在,我记得我必须安装一些依赖项,其中一个是 clang 并且它的安装被改变了。要解决这个问题(在我的情况下,我不再需要 anaconda):(已编辑)

1.- 删除 anaconda 及其所有依赖项(我建议使用 App Cleaner)。2.- 重新安装 xCode

重新安装 xCode 后,如果再次输入clang --version,您将得到:

图片

更多信息:https ://github.com/flutter/flutter/issues/32457#issuecomment-496161092

希望此信息对其他人有所帮助。

最好的

于 2019-05-27T10:15:28.750 回答
1

在 Xcode 版本 9.2 (9C40b) 中,当我将一堆文件放入项目中时发生了这种情况,其中一些文件是重复的。它不是简单地不添加重复项,而是再次添加它们,并且只添加名称,而不是路径。

Target> Build Phases>Compile Sources每个重复项后面都没有“...in”。每一个都导致了clang错误。

在此处输入图像描述

删除 Xcode 收集的所有重复项后,项目编译并运行。

它使您可以使用 Project Navigator 而不是在 Finder 中管理源文件。然后项目导航器不能像任何像样的文件管理系统(ahem Finder)那样替换重复项。

于 2018-01-25T02:10:10.240 回答
0

有时 Xcode 的表现很奇怪。你必须找到那个静态库项目,例如。在构建阶段的“将二进制文件与库链接”下的“filename.a”,然后将其删除并再次添加。

我在归档目标时遇到了同样的问题。我删除了库,构建成功。

于 2014-11-19T11:15:50.343 回答
0

好的,只需添加正确的 -target -configuration 和 -scheme 参数,我就可以正常运行。然而,由于我在 Jenkins 中出于自动构建目的运行它,它仍然无法按我的意愿工作 - 卡在完全相同的地方。这很奇怪,因为我在另一个没有这个问题的工作中构建了完全相同的代码。在这一点上没有押韵或理由。我会继续向它射击橡皮筋并在我有答案时更新......

于 2013-02-19T03:13:07.283 回答
0

在 Xcode 项目中查找丢失的文件,即文件可能被删除或丢失。

在此处输入图像描述

将丢失的文件添加到 xcode,然后一切正常。

于 2016-01-09T22:55:02.327 回答
0

对我来说,这是因为我删除了一个包裹或吊舱。我跑了pod install,它修好了

于 2016-10-14T20:26:21.827 回答
-1

运行此命令:

$ conda deactivate
于 2019-08-05T07:24:42.787 回答