gpt4 book ai didi

cmake - 带有 cmake add_definitions 的文件路径

转载 作者:行者123 更新时间:2023-12-03 17:17:45 24 4
gpt4 key购买 nike

我正在尝试替换硬编码的预处理器

#define MY_FILE_PATH "/usr/local/myfile"

在 cmake 中使用 add_definitions
add_definitions(-DMY_FILE_PATH=${MY_FILE_PATH})

在调用 cmake 时,我使用 -DMY_FILE_PATH=/usr/tmp/myfile但得到所有类型的错误,例如,'/' 标记之前的预期主表达式和 tmp 未找到等。
是否可以在我的场景中使用 add_definitions 或者我应该尝试 configure_file。
add_definitions 是否仅支持整数值?

最佳答案

这里和谷歌搜索互联网的答案都没有对我有用(Windows 上的 CMake 3.4.1)。我终于找到了一个解决方案,所以你去吧,希望这对某人有所帮助:

诀窍是引用您要添加的每个定义的全部内容 add_definitions , 而不仅仅是它的值部分,并转义将进入 shell 的内部引号。请记住,每个定义都应包含一个单独的字符串。像这样:

add_definitions( "-D_SOME_DEFINE=\"Some value with spaces, etc\"" "-D DEF1=\"Another string\"")

答案不仅限于路径,而且适用于您想要作为预处理器指令提供的任何一般字符串。这是我能够提供包含空格字符的字符串的唯一方法。

关于cmake - 带有 cmake add_definitions 的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32947974/

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