我正在使用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变量中。 )
答案 0 :(得分:2)
${SDL_INCLUDE_DIR}
不是环境变量。它只是一个可能在FindSDL.cmake脚本中设置的CMake变量。你可以看到,因为环境变量有$ ENV {variable_name} sintax。
您应该安装SDL库的开发版本。如果查看FindSDL.cmake脚本,您将看到脚本搜索头文件和lib文件的位置。据我所知,你必须将SDLDIR环境变量设置为指向SDL库的根文件夹。