如何在使用 Make 或 CMake 编译之前更改宏值?
How to change the macro value before comipling using Make or CMake?
我正在寻找更改宏值的方法。我想使用像 user-friendly 变量这样的宏值。就像我们使用 scanf
函数并将用户输入存储到变量。
如果这种方式不可行,那么我们可以使用 CMake 或 make 来实现吗?如果是那么怎么办?
示例。
header。 h
#define LED 8
我想在编译前更改这个值。有什么办法可以做到吗?
请详细说明。所以我完全可以理解。可能添加一些示例或 link 示例。
谢谢。
您需要一个编译标志 -DLED=8
,您可以在其中将 8
替换为您想要的任何值。
你还应该用
包裹LED宏
#ifndef LED
#define LED 8
#endif
这样,-DLED=X
会将宏定义为 X,并且由于它已经定义,头文件不会尝试重新定义它。
关于CMake,尝试添加add_compile_definitions(LED=8)
。查看 this 了解更多信息。
我正在寻找更改宏值的方法。我想使用像 user-friendly 变量这样的宏值。就像我们使用 scanf
函数并将用户输入存储到变量。
如果这种方式不可行,那么我们可以使用 CMake 或 make 来实现吗?如果是那么怎么办?
示例。
header。 h
#define LED 8
我想在编译前更改这个值。有什么办法可以做到吗?
请详细说明。所以我完全可以理解。可能添加一些示例或 link 示例。
谢谢。
您需要一个编译标志 -DLED=8
,您可以在其中将 8
替换为您想要的任何值。
你还应该用
包裹LED宏#ifndef LED
#define LED 8
#endif
这样,-DLED=X
会将宏定义为 X,并且由于它已经定义,头文件不会尝试重新定义它。
关于CMake,尝试添加add_compile_definitions(LED=8)
。查看 this 了解更多信息。