编译顺序 Eclipse C++

compile order eclipse c++

本文关键字:C++ Eclipse 顺序 编译      更新时间:2023-10-16

我正在尝试使用 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++ 常规 -> 索引器 -> 也使用活动生成配置