只有CMakeLists.txt
文件位於項目根目錄下才會生成。爲什麼它不能駐留在src
子目錄中呢?有沒有辦法改變設置,以便它看起來在那裏?爲什麼CMakeLists文件需要在CLion的項目文件夾的根目錄下?
回答
這就是CMake層次結構的工作方式,因爲您創建了項目,所以應該有根目錄(${CMAKE_SOURCE_DIR}
變量),其中放置了頂級CMake文件,其中包含項目名稱和其他項目範圍首選項。如果你想包含源代碼或子項目的附加子目錄,你應該使用add_subdirectory()函數,它將包含子CMake文件到你的項目中。您的子目錄可能只放置在您的項目根目錄中。查看official CMake example以獲得更好的理解。
謝謝!說得通。 –
默認情況下,CLion將包含頂級CMakeLists.txt文件的目錄視爲包含所有來源的主項目目錄。如果你想改變它,你需要改變CMake項目的根目錄,如下所示:https://www.jetbrains.com/help/clion/changing-project-root-directory.html
我想他們只是改變變量'$ {CMAKE_SOURCE_DIR}',因爲** quote **:_「Change Project Root命令不會影響主CMakeLists.txt文件的實際位置」_因此,您的頂級CMake將會與以前一樣放置在相同的位置,這可能會混淆從事項目工作的其他開發人員。順便說一下,將根目錄更改爲當前項目的子目錄完全不起作用。我建議不要這樣做。 – Liastre
- 1. 爲什麼x86文件夾在c#項目目錄下?
- 2. 在根目錄下訪問文件夾
- 3. 的增加主要項目JAR在項目的根文件夾
- 4. VS2010 IIS Express中的項目文件夾需要什麼權限?
- 5. FastLanes。在Xcode項目的根文件夾
- 6. 分支後項目根目錄中的文件是什麼?
- 7. 的plist文件中的文件夾 - 它需要與項目
- 8. 需要把現有的顛覆項目新的根文件夾下
- 9. Tomcat - 製作項目文件夾的web根目錄
- 10. 我如何到我的項目根目錄文件夾
- 11. 在項目的根目錄下創建.env文件
- 12. Netbeans的:爲什麼需要重建項目更新「DIST」文件夾?
- 13. 爲什麼Nuget在項目的父文件夾中創建「Packages」文件夾?
- 14. Prestashop中的文件「modules.txt」在根目錄下是什麼?
- 15. 爲什麼要用PHP項目和phing生成「build /」文件夾
- 16. NetBeans,html5項目。網站根文件夾和源文件夾有什麼區別?
- 17. SonarQube:文件不在項目目錄下
- 18. PHP:如何訪問根目錄下的下載文件夾?
- 19. YIi2上傳文件夾移動到項目根目錄
- 20. Hive:爲什麼在我的項目文件夾中創建metastore_db?
- 21. 虛擬目錄下的AppData文件夾?
- 22. 作爲靜態文件的根的項目子目錄
- 23. 將目錄中的文件拖入NPM的根文件夾
- 24. 從根目錄訪問文件夾public_html
- 25. .htaccess多個文件夾和根目錄
- 26. 在Java根目錄下搜索文件
- 27. 在根目錄下存儲文件
- 28. 在我的項目的根文件夾命名爲「XXX」
- 29. gradle war task在war文件的根目錄下生成META-INF文件夾
- 30. 爲什麼在我的項目可繪製文件夾中創建Thumbs.db文件?
將源文件放在'/ src'中是正常的。由於'CMakeLists.txt'沒有被編譯,所以它會到達那個文件夾之外的某個地方。 Idk如果CLion可以在這方面進行調整。 –
@ChrisBeck有道理。這是正常的,因爲它不是在'src'文件夾中,而是在項目根目錄中? –
是的,對於我見過的大多數項目。以下是一個示例:https://github.com/llvm-mirror/llvm –