将不同组中的 C++ 文件包含到 Objective-C++ 测试中

Posted

技术标签:

【中文标题】将不同组中的 C++ 文件包含到 Objective-C++ 测试中【英文标题】:Including a C++ file in a different group into a Objective-C++ Test 【发布时间】:2013-10-21 19:16:20 【问题描述】:

我正在编写一个 C++ 库,但希望能够使用 XCTest 对其进行测试。 我正在使用 XCode,并且已经使用绝对路径:

#import "/Users/kurt/Workspace/ProcSim/ProcSim/Access.cpp"

但是,这太恶心了。我希望能够做到#import "ProcSim/Access.cpp" 甚至只是#import "Access.cpp",但由于测试在ProcSim/Tests 文件夹中,而我的源代码在ProcSim 中,我不知道如何包含. cpp 到 .mm 测试文件中,XCode 可以找到它。

我正在使用 XCode 5.0.1

【问题讨论】:

为什么要包含.cpp 文件? .hpp 以同样的方式失败。 【参考方案1】:

我假设 .cpp 文件不在您的项目目录中?对吗?

如果是这样..

在 Xcode 中点击项目符号 -> 构建设置 -> Header Search Paths ->

将其更改为“/Users/kurt/Workspace/ProcSim/ProcSim/”

那就#import <Access.cpp>

【讨论】:

在同一个项目中,只是不同的组 事实证明,您必须将$(PROJECT_DIR)添加到构建设置下的测试目标作为标题搜索路径。然后,您必须在构建阶段将您的 cpp 文件添加为编译源,以使链接器满意。毕竟,#import 'Group/File.hpp' 语法会很好地工作。

以上是关于将不同组中的 C++ 文件包含到 Objective-C++ 测试中的主要内容,如果未能解决你的问题,请参考以下文章

将不包含扩展名的文件上传到wordpress?

将不加载包含文件名的文件名中的嵌入式资源

C++ - 在自定义数据类型向量中按值匹配和替换元素

Delphi 2010 将不包含大图标

从 Powershell 将不存在的文件路径导出到文本文件

如何将文件存储到包含 C++ 中的类对象的向量中?