gpt4 book ai didi

c++ - 编译命令eclipse c++

转载 作者:行者123 更新时间:2023-11-30 03:27:39 24 4
gpt4 key购买 nike

我正在尝试使用 Gtest 进行单元测试。

我正在创建另一个项目,其中包含要测试的原始项目(通过链接)的文件。然后在新项目中,我创建了 Fake Implementation 和 Mocks,模拟了我要测试的函数或单元的附加依赖项。在原始项目的文件中,我使用 #ifdef 来包含原始依赖项或伪造的实现

我面临的问题是我需要按特定顺序编译文件,以便在构建测试项目时包含伪造的实现。我在带有 MinGW、GNU Builder 的 Windows 10 上使用 MCUXpresso

预期任何解决方法或方法来控制文件的编译顺序。

#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 获得正确的编译代码(未编译的代码是灰色的)你将不得不切换Properties -> C/C++ General -> Indexer -> Use active build configuration as well

关于c++ - 编译命令eclipse c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47179946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com