构建 XCTest 时找不到文件错误
Posted
技术标签:
【中文标题】构建 XCTest 时找不到文件错误【英文标题】:File not found error when building XCTest 【发布时间】:2014-08-27 05:20:06 【问题描述】:我正在尝试为我的 ios 应用程序编写 XCTest 单元测试。我正在使用 XCode 5.1.1。
我遇到的问题是当我包含一个包含看起来像这样的头文件时
#include <google/protobuf/stubs/common.h>
抱怨找不到文件。
我在我的测试目标的标题搜索路径中包含了包含google
文件夹的目录的相关路径。我已将其标记为始终使用搜索路径并进行递归搜索。
我的应用程序目标找到了没有任何问题的路径,并且我以完全相同的方式包含它。我的单元测试类是一个 Objective-C++ 类,因为我已将文件名更改为 .mm
扩展名。
任何想法为什么我会遇到找不到文件的问题?
【问题讨论】:
google 框架可用于测试项目吗?如果不可用 我知道是什么了,请看下面的答案。 【参考方案1】:原来我的搜索路径是错误的。我给出了我的测试目录的路径,但显然 Xcode 想要的路径来自我的项目根目录(即我的 .xcodeproj 文件所在的位置)
【讨论】:
如$(PROJECT_DIR)/dir_to_header
,不要使用绝对路径。【参考方案2】:
我也遇到了 XCtests 拒绝构建的问题,因为找不到标头。正如 DawnSong 所建议的, $(PROJECT_DIR) 是要走的路。选择 XCTest 目标,转到构建设置并找到“标题搜索路径”设置。 如果您的项目如下所示:
MyProject
MyProject.xcodeproj
FolderA
FolderA1
FolderA2
FolderB
添加以下路径(在测试目标的构建设置中):
$(PROJECT_DIR)/FolderA recursive
$(PROJECT_DIR)/FolderB non-recursive
【讨论】:
以上是关于构建 XCTest 时找不到文件错误的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上为 Android 构建时找不到 windows.h 文件
使用 Palantir Gradle 插件构建 Docker 容器时找不到 .jar 文件
在 Azure Devops 上运行构建时找不到资产文件 project.assets.json