编译顺序 Eclipse C++
compile order eclipse c++
我正在尝试使用 Gtest 进行单元测试。
我正在创建一个另一个项目,该项目包含要测试的原始项目(通过链接)中的文件。在新项目中,我创建了要测试的函数或单元的其他依赖项的假实现和模拟。在原始项目的文件中,我正在使用 #ifdef 来包含原始依赖项或虚假实现
我面临的问题是我需要按特定顺序编译文件,以便在构建测试项目时包含虚假实现。我在 Windows 10 上使用 MCUXpresso with MinGW, GNU Builder
预测任何解决方法或方法来控制文件的编译顺序。
#ifdef IsTesting //This is part or original project, original header files
#include "Fake_dependency"
#else
#include "Original_Dependency"
#endif
然后在我定义的新项目中
#define IsTesting true // Part of Test_Project, followed by other code for testing
当我编译新项目或测试项目时,我需要定义此变量的文件首先或早于我从原始项目链接的文件进行编译
可以将定义添加到测试项目的生成配置中,而不是在测试代码中定义IsTesting
。
转到属性 -> C/C++ 常规 ->路径和符号 -> 选择适当的语言(GNU C++)并添加"IsTesting"(没有任何值)
如果您希望 Eclipse 正确编译代码(未编译代码是灰色的),则必须切换属性 -> C/C++ 常规 -> 索引器 -> 也使用活动生成配置
相关文章:
- 无法在Ubuntu上将共享库与Eclipse链接
- Eclipse CDT:单个项目中有多个C++文件
- C++ 运行时链接器错误 (liblog4cpp.so.5) Eclipse
- Eclipse/Netbeans 中的处理模式行
- 如何在使用 SDL2 的 Eclipse 中构建 c++ 程序
- 使用 Eclipse CDT 进行 Cplex 配置
- Eclipse 没有在 Windows (C++) 中编译.exe
- 在 Eclipse 上启用 C++17 以使用 'std::byte'
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 在 Eclipse 中添加库的工作方式是否与在 Visual Studio 中相同?
- 将编译器开关添加到 Eclipse CDT 内置编译器设置生成?
- 在 Eclipse: "error: no match for 'operator='" 中获取错误消息
- 在 eclipse 中,将宏重定义视为错误而不是警告
- Eclipse C++ 字符串作为函数参数
- 如何在 Eclipse 中一次从多个源文件进行构建
- Eclipse 可执行架构类型
- 如何摆脱导入的 make 项目中的 Eclipse 索引器"Type std::... could not be resolved"错误
- C++ 在编译过程中 strtok 函数 Eclipse 说没有在范围内声明?
- Eclipse/CDT_C++给出"语义错误_"类型XXX无法解决"。项目运行
- ROS/C++:无法在 eclipse 中修复未解析的包含