构建XCTest时出现文件未找到错误

5

我正在尝试为我的iOS应用编写XCTest单元测试。我使用的是XCode 5.1.1。

问题出在当我包含一个头文件时,其中包含了以下代码:#include <google/protobuf/stubs/common.h> 它会抱怨找不到该文件。

我已经在我的测试目标的“Header Search Paths”中包含了包含google文件夹的路径。我已将其标记为始终使用搜索路径并进行递归搜索。

我的应用程序目标可以轻松找到该路径,并且我使用的方式完全相同。我的Unit Test类是一个Objective-C++类,因为我已将文件名更改为.mm扩展名。

为什么我会遇到文件找不到的问题?有任何想法吗?


谷歌框架可用于测试项目吗?如果不可用,请使其可用。 - Rajesh
我找到了答案,见下面的回答。 - Vince613
2个回答

2
原来我的搜索路径是错误的。 我提供的路径是从我的测试目录开始的,但显然Xcode想要的路径是从我的项目根目录开始的(即我的.xcodeproj文件所在的位置)。

例如 $(PROJECT_DIR)/dir_to_header,不要使用绝对路径。 - DawnSong

2

我也遇到过XCtests无法构建的问题,因为找不到头文件。如DawnSong所建议,$(PROJECT_DIR)是解决这个问题的途径。选择XCTest目标,进入构建设置并找到“Header Search Paths”设置。

如果您的项目看起来像这样:

MyProject
    MyProject.xcodeproj
    FolderA
       FolderA1
       FolderA2
    FolderB

测试目标的构建设置中添加以下路径:
$(PROJECT_DIR)/FolderA               recursive
$(PROJECT_DIR)/FolderB               non-recursive

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接