2015-09-28 80 views
-1

我在Ubuntu 14.04.3平臺上。當我編譯一個項目時,它詢問我的系統中沒有的cmake 3.2版本。我從源代碼編譯了最新版本的cmake,並將其安裝到/ usr/local/bin目錄中。當我嘗試再次編譯項目時,它的cmake會檢測較低版本的/ usr/bin中的cmake。然後cmake ..如何使用安裝在非標準路徑中的cmake?

過程中止版本較低的錯誤。是否有任何內置的cmake變量或環境變量設置cmake的路徑?

編輯: 我剛剛發現一個cmake變量CMAKE_COMMAND,據說我想做什麼。 但是當我插入CMAKE_COMMAND = /usr/local/bin/cmake行成cmakelist.txt然後我去build目錄及發行/usr/local/bin/cmake .. 我得到:

Expected a command name, got unquoted argument with text 

我搜索了它在網絡上卻沒有找到一個解決方案。

+0

這是誰負責選擇cmake可執行文件的路徑解析過程。所以你應該影響這個過程。例如,在PATH中交換/ usr/local/bin和/ usr/bin,或在調用:'/ usr/local/bin/cmake'時使用完整路徑, – Tsyvarev

+0

@Tsyvarev 感謝您的迴應。我如何交換路徑?我已經試着用'export PATH =/usr/local/bin:「$ PATH」'沒有運氣。 – kenn

+0

嘗試:'export PATH =「/ usr/local/bin:$ PATH」'(可在http://stackoverflow.com/a/413498/3440745找到)。 – Tsyvarev

回答

1

如果您安裝了不同版本的軟件或庫,則可以使用stow進行安裝並在兩者之間切換。特別是如果你想安裝一個在Linux發行版中不可用的軟件的更新版本。所以如果新版本還不穩定,你仍然可以切換到前一版本。例如在構建CMake的3.2,你可以指定前綴

./configure --prefix=/usr/local/stow/cmake-3.2/ 

然後

cd /usr/local/stow 
sudo stow cmake-3.2 

,如果你想刪除的鏈接,您可以使用下面的命令

sudo stow --delete cmake-3.2 

請請記住,存放不會刪除文件。它只會製作和刪除鏈接。