jpo*_*o38 6 macros preprocessor cmake
我找不到如何在 CMake 中声明像宏这样的函数。
我需要一个宏函数,如:
#define MYFUNC(foo) QString( foo + "_suffix" )
Run Code Online (Sandbox Code Playgroud)
由我的 CMakeLists.txt 文件定义。我试过:
add_definitions("-DMYFUNC(foo)=QString\(foo+\"_suffix\"\)")
Run Code Online (Sandbox Code Playgroud)
和
add_definitions("-DMYFUNC\(foo\)=QString\(foo+\"_suffix\"\)")
Run Code Online (Sandbox Code Playgroud)
但没有工作,编译器(VS2015)总是报告MYFUNC未定义......
/D 选项不支持类似函数的宏定义。要插入无法在命令行上定义的定义,请考虑 /FI(名称强制包含文件)编译器选项。
为了完整起见,GCC确实 支持从命令行定义函数宏:
如果您希望在命令行上定义一个类似函数的宏,请在等号(如果有)之前用括号写下它的参数列表。括号对大多数 shell 都有意义,因此您应该引用该选项。对于 sh 和 csh, -D'name(args...)=definition' 有效。
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |