簡體   English   中英

CMake 沒有定義變量

[英]CMake not defining variables

當嘗試在 config.h 中定義項目版本變量以包含在源文件中時,CMake 沒有定義它們

CMakeLists.txt 看起來像這樣

cmake_minimum_required(VERSION 3.0)
project(podder VERSION 1.0 LANGUAGES CXX)

configure_file(config.h.in config.h ESCAPE_QUOTES)

配置.h.in

#ifndef HAVE_CONFIG_H
#define HAVE_CONFIG_H

#cmakedefine ${CMAKE_PROJECT_VERSION}

#endif

生成的 config.h 看起來像這樣

#ifndef HAVE_CONFIG_H
#define HAVE_CONFIG_H

/* #undef  */

#endif

你想要的是

#ifndef HAVE_CONFIG_H
#define HAVE_CONFIG_H

#cmakedefine PROJECT_VERSION ${PROJECT_VERSION}

#endif

語法為#cmakedefine VAR ... ,其中VAR是變量名(不帶$() ),表達式...被求值,請參見configure_file() 如果未定義變量VAR或其值為假,則將其替換為/* #undef VAR */

您應該使用#define @CMAKE_PROJECT_VERSION@而不是#cmakedefine ${CMAKE_PROJECT_VERSION}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM