相关疑难解决方法(0)

如何在C++源代码中读取CMake变量

我想在一个地方存储我的库的版本号.所以我在CMake文件中定义了这样一个变量:

    SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")
Run Code Online (Sandbox Code Playgroud)

根据这个定义,我可以根据Microsoft的定义生成一个version.rc文件,我将其编译到库中,然后在我的dll文件的属性窗口中正确显示.

现在我也想在我的c ++源代码中使用这个CMake变量,但实际上我没有找到一个有效的解决方案.我尝试过不同的东西:

    #ifndef VERSION_LIBINTERFACE
    #  define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@
    #endif
Run Code Online (Sandbox Code Playgroud)

或这个:

    unsigned int getLibInterfaceVersion()
    {
        return @LIBINTERFACE_VERSION@;
    }
Run Code Online (Sandbox Code Playgroud)

但是编译器不会接受任何东西.由于我对CMake-Documentation的研究没有得到任何结果,我希望有人可以给我基本的建议.

提前致谢.

c++ makefile cmake header-files

34
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

cmake ×1

header-files ×1

makefile ×1