我正在使用 WiringPi 为 Raspberry pi 创建一个软件。问题是,如果 WiringPi 没有检测到 Raspberry Pi,它将失败。因此,如果我想在不使用实际的 Raspberry pi 的情况下进行一些单元测试,我必须检查一个常量并且如果我正在测试中不要执行一些函数调用。
我有一个测试 cpp 文件,其中有我的 main() 函数,并且在文件的顶部有 #define OS_TESTING。我将类拆分为头文件和 cpp 文件,因此在该文件中包含所需的头文件。
问题是我有名为 GPS.cpp 的 cpp 文件,这里有 GPS.h 的代码。在 GPS.cpp 我做了一个#ifndef OS_TESTING,但它没有检测到它已经在 testing.cpp 中定义。
我的编译命令如下:
g++ testing.cpp GPS.cpp
是否有可能因为我在 GPS.cpp 中未包含的文件中有#define 而没有定义它?如果是这种情况,我该怎么做才能解决它?