2014-10-31 125 views
1

我想使用CMAKE-gui 3.0.2和Visual Studio express 2013編譯一個庫。 在cmake-gui的配置/生成過程中,一切看起來都很好,如我可以將CMAKE_INSTALL_PREFIX變量設置爲我想要安裝我的庫的路徑。在配置和生成過程中我沒有遇到任何錯誤。CMAKE不會在Visual Studio中創建INSTALL項目

然後我打開生成的.sln文件,在該文件中我可以構建ALL_BUILD目標,該目標運行平穩,沒有錯誤且不會跳過目標。

然而,INSTALL目標根本就沒有出現在Solution Explorer中,所以我真的沒有對如何安裝庫的任何想法。 經進一步檢查,我注意到,cmake的那樣創建一個名爲cmake_install.cmake文件,但我不知道怎麼辦吧。當實際有任何安裝

+0

你有任何'安裝()'你CMakeList命令? – Angew 2014-10-31 14:51:40

+0

不在CMakeList.txt文件中。在GUI中,我可以看到變量的名字,我剛纔CMAKE_INSTALL_PREFIX和CMAKE_SKIP_INSTALL_RPATH(Boolean設置爲關閉) – alef0 2014-10-31 15:08:48

+0

OK,我的意思是在項目的任何地方的CMake可以看到它,開始從頂層CMakeList解析。 – Angew 2014-10-31 15:09:55

回答

2

CMake的只會產生INSTALL目標。看起來你的項目中沒有install()命令。

變量CMAKE_INSTALL_PREFIX的存在並不意味着什麼 - 該變量始終存在,並且在需要安裝任何內容時用於控制安裝目標。

同樣地,文件cmake_install.cmake始終創建;但是如果你檢查它,你會發現它基本上是一個沒有你的情況(可能只是一些消息,設置CMake變量,並可能創建一個不用於任何東西的清單)。

+0

那麼爲什麼cmake問我一個INSTALL_PREFIX,它甚至創建了一個cmake_install.cmake文件?順便說一下,如果你想自己看看,我想在這個文件夾中建立圖書館:[鏈接](https://github.com/royshil/SfM-Toy-Library/tree/master/3rdparty /SSBA-3.0) – alef0 2014-10-31 15:20:13

+0

@ alef0我已經擴大了答案。 – Angew 2014-10-31 15:33:55

+0

我明白了。感謝您的回答。最後一個問題:假設這個庫只是一個Header only庫,是否合理?我可以通過複製項目中的頭文件來使用它? – alef0 2014-10-31 15:37:12

相關問題