2013-04-24 528 views
0

我正在將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變量 。)

回答

2

${SDL_INCLUDE_DIR}不是一個環境變量。它只是一個可能在FindSDL.cmake腳本中設置的CMake變量。你可以看到,因爲環境變量有$ ENV {variable_name} sintax。

您應該安裝SDL庫的開發版本。如果您查看FindSDL.cmake腳本,您將看到腳本搜索頭文件和lib文件的位置。據我所知,必須將SDLDIR環境變量設置爲指向SDL庫的根文件夾。

+0

是的,它在添加SDLDIR env var後有效。但是,你能告訴我哪個腳本是FindSDL.cmake嗎? – 2013-04-24 07:15:14

+0

查找腳本位於已安裝cmake的Modules子目錄中。 – 2013-04-24 07:21:02

+0

找到它。因此,Cmake爲人們提供了內置腳本,以便將流行的庫輕鬆添加到CMake項目包中。感謝您的幫助Domen。 – 2013-04-24 07:26:37