cmake

时间:2018-01-23 18:23:09

标签: linux bash ubuntu cmake ros

我正在使用ROS Indigo开发Ubuntu 14.04,我需要使用Geometry Tools Wild Magic 5来开发包。

我已将Wild Magic文件夹的路径导出为环境变量,方法是修改.bashrc,如下所示:

export WM5_PATH=/home/user/catkin_ws/src/GeometricTools/WildMagic5/SDK

这样做是为了在我正在编码的包的CMakeLists.txt文件中指定头文件的位置:

include_directories(
    include
    $ENV{WM5_PATH}/Include/
)

以前,在同一个cmake文件中,我检查环境变量是否设置正确:

if (NOT DEFINED ENV{WM5_PATH})
    MESSAGE (FATAL_ERROR "Wild Magic Engine 5.14 missing")
endif()

现在,在使用catkin build构建程序包时,找不到环境变量(输入if if)。但是通过在终端中使用printenv,我可以看到环境变量WM5_PATH实际上就在那里。

我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

我刚试了一下你的例子,它在我的Ubuntu bash shell中运行正常。

# export WM5_PATH=/home/user/catkin_ws/src/GeometricTools/WildMagic5/SDK
# cmake ..
-- Configuring done
-- Generating done
-- Build files have been written to: ...

所以我怀疑你的cmake可执行文件在另一个环境(例如IDE)中运行。

要查看您的CMake所看到的环境,您可以将以下内容添加到CMakeLists.txt

execute_process(
    COMMAND ${CMAKE_COMMAND} -E environment
)

<强>参考