我想通过getconf PAGESIZE
命令输出的结果作为预处理器的-DPAGESIZE=`getconf PAGESIZE`
形式在自定义分配器声明定义了我的计划[[gnu::assume_aligned(PAGESIZE)]]
。通输出到编译器/连接
我试过如下:
add_definitions(-DPAGESIZE=`getconf PAGESIZE`)
但它究竟是扩展为-DPAGESIZE="\`getconf" ... PAGESIZE`
,其中...
是其他CMAKE_CXX_FLAGS*
内容。即在CMakeLists.txt
文件中出现反引号问题。
如何正确地传递这样一个参数传递给编译器/连接在CMakeLists.txt
文件?也许有另一种方法来实现所需?
我也试过add_definitions(-DPAGESIZE="$$(getconf PAGESIZE)")
($$
扩展为$
由cmake
),但-DPAGESIZE
,其余部分由cmake
分裂。 add_definitions("-DPAGESIZE=$$(getconf PAGESIZE)")
使得cmake
虽则逃避每一美元的迹象。
这里的答案可能是有用的:http://stackoverflow.com/a/1468695/3171657 – Turn
为什么不使用? – usr1234567
@ usr1234567在Bourne shell环境中反引用是有意义的。反引号,然后取代它,而不是整个“backticked”表达 – Orient