gpt4 book ai didi

cmake - 在 CMake 中使用来自 C/C++ 宏的值

转载 作者:行者123 更新时间:2023-12-01 22:19:42 35 4
gpt4 key购买 nike

将 C/C++ 宏的值放入 CMake 变量的最简单方法是什么?

鉴于我检查图书馆 libfoo带有标题 foo.h .我知道 foo.h包含宏 #define FOO_VERSION_MAJOR <version>其中 version 是整数或字符串值。为了提取找到的库的主要版本,我想使用这个宏中的值。

作为奖励,如果未找到宏,这可能表明版本比引入版本宏的特定版本旧。

最佳答案

我会去file(READ ...)读取标题后跟 string(REGEX ...)提取所需的定义。

示例代码:

file(READ "foo.h" header)
string(REGEX MATCH "#define FOO_MAJOR_VERSION [0-9]+" macrodef "${header}")
string(REGEX MATCH "[0-9]+" FooMajorVersion "${macrodef}")

关于cmake - 在 CMake 中使用来自 C/C++ 宏的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55548410/

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