我正在使用ROS Indigo开发Ubuntu 14.04,我需要使用Geometry Tools Wild Magic 5来开发软件包。
我已通过修改.bashrc
将 Wild Magic 文件夹的路径导出为环境变量,如下所示:
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(。但是通过在终端中使用printenv
,我可以看到环境变量WM5_PATH
实际上在那里。
我该如何解决这个问题?
我刚刚尝试了一下你的例子,它在我的 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
)
参考
- 如何在 CMake (Windows( 中检索用户环境变量