Cmake找不到环境变量

时间:2013-04-24 05:46:17

标签: cmake hevc

我正在使用Windows 7上的cmake构建OpenHEVC(https://github.com/OpenHEVC/openHEVC)到VS2010项目。

在根目录的CMakeLists.txt中,我找到了一行:

include_directories(. ${SDL_INCLUDE_DIR} wrapper_hm/src/Lib)

“$ {SDL_INCLUDE_DIR}”我认为应该是SDL库(http://www.libsdl.org/download-1.2.php)。

我的问题是,在下载SDL库并设置一个名为“SDL_INCLUDE_DIR”的新环境变量后,包含SDL的路径(我可以在命令行中“回显%SDL_INCLUDE_DIR%”)。 CMake只是一直给我这个(即使重启Cmake后):

''” CMake错误:此项目中使用以下变量,但它们设置为NOTFOUND。 请设置它们或确保它们在CMake文件中正确设置和测试: SDL_INCLUDE_DIR    用作目录C中的include目录:/ Users / Administrator / Desktop / Pure265 / openHEVC-master / openHEVC-master    用作目录C中的include目录:/ Users / Administrator / Desktop / Pure265 / openHEVC-master / openHEVC-master / wrapper_hm

配置不完整,发生错误! '''

我很困惑为什么cmake找不到环境变量。 ( 我是Cmake的新手,但我在这里查了一下:http://www.cmake.org/Wiki/CMake_Useful_Variables 那个$ {SDL_INCLUDE_DIR}应该反映到env变量中。 )

1 个答案:

答案 0 :(得分:2)

${SDL_INCLUDE_DIR}不是环境变量。它只是一个可能在FindSDL.cmake脚本中设置的CMake变量。你可以看到,因为环境变量有$ ENV {variable_name} sintax。

您应该安装SDL库的开发版本。如果查看FindSDL.cmake脚本,您将看到脚本搜索头文件和lib文件的位置。据我所知,你必须将SDLDIR环境变量设置为指向SDL库的根文件夹。