Cmake无法找到环境变量
我正在将Windows 7上的cmake构建为VS2010项目的OpenHEVC(https://github.com/OpenHEVC/openHEVC)。Cmake无法找到环境变量
在的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的路径(我可以在命令行中“echo%SDL_INCLUDE_DIR%”)。 CMake只是一直给我这个(即使重新启动Cmake后):
''' CMake错误:下列变量用于此项目,但它们设置为NOTFOUND。 请设置它们或确保它们在CMake文件中正确设置和测试: SDL_INCLUDE_DIR 用作目录C中的include目录:/ Users/Administrator/Desktop/Pure265/openHEVC-master/openHEVC-master 用作包含目录在目录C:/ Users/Administrator/Desktop/Pure265/openHEVC-master/openHEVC-master/wrapper_hm
配置不完整,发生错误! '''
我很困惑为什么cmake找不到环境变量。 ( 我是新来CMake的,但是我在这里检查的话:http://www.cmake.org/Wiki/CMake_Useful_Variables 那$ {} SDL_INCLUDE_DIR应该反映到ENV变量 。)
${SDL_INCLUDE_DIR}
不是一个环境变量。它只是一个可能在FindSDL.cmake脚本中设置的CMake变量。你可以看到,因为环境变量有$ ENV {variable_name} sintax。
您应该安装SDL库的开发版本。如果您查看FindSDL.cmake脚本,您将看到脚本搜索头文件和lib文件的位置。据我所知,必须将SDLDIR环境变量设置为指向SDL库的根文件夹。
是的,它在添加SDLDIR env var后有效。但是,你能告诉我哪个脚本是FindSDL.cmake吗? – 2013-04-24 07:15:14
查找脚本位于已安装cmake的Modules子目录中。 – 2013-04-24 07:21:02
找到它。因此,Cmake为人们提供了内置脚本,以便将流行的库轻松添加到CMake项目包中。感谢您的帮助Domen。 – 2013-04-24 07:26:37