相关疑难解决方法(0)

cmake DEFINED似乎不承认变量

我在cmake中有这个代码:

#mandatory
SET(BOOST_DIR "$ENV{BOOST_HOME}")
if (DEFINED ${BOOST_DIR})
    #global include directories
    include_directories(${BOOST_DIR})
else(DEFINED ${BOOST_DIR})
    message( STATUS "BOOST_HOME at ${BOOST_DIR}")

    message( FATAL_ERROR "Undefined BOOST_HOME env var.")
endif(DEFINED ${BOOST_DIR})
Run Code Online (Sandbox Code Playgroud)

定义了env var BOOST_HOME(/ home/ferran/boost).行为很奇怪,因为输出是:

-- BOOST_HOME at /home/ferran/boost
CMake Error at CMakeLists.txt:14 (message):
  Undefined BOOST_HOME env var.


-- Configuring incomplete, errors occurred!
Run Code Online (Sandbox Code Playgroud)

因此,var存在并打印其内容并且同时不存在?

cmake

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

标签 统计

cmake ×1