我對C++很陌生(學習一些遊戲編程的東西),我想用公共約定來設置我的目錄結構。我沒有看到明確建議的主要混淆點是我放置依賴關係的地方。例如,我將着眼於FreeGLUT和FreeType。我已經下載的第一件事就是FreeGLUT的MSVC構建和它帶有一個子目錄結構,像這樣:關於第三方庫最常見的C++項目目錄結構約定
bin/
freeglut.dll
x64/
freeglut.dll
include/
GL/
someheaders.h ...
lib/
freeglut.lib
x64/
freeglut.lib
readme.txt
在我的C#開發人員希望創建一個名爲我的解決方案目錄中的「相關性」的子目錄,取所有這些,並把它放在它自己的子目錄中,然後對任何其他庫執行相同的操作,類似於NuGet軟件包目錄,然後在構建時引用適當的位置。我不是100%肯定的,但我猜測這可能是混亂的引用頭文件,如果它們分散在不同的子目錄中,因爲你不只是像在C#中那樣使用C++「添加引用」。
我的依賴應該成爲我的項目的一部分嗎?我應該將它們分解到不同的基礎文件夾中嗎?什麼是標準的事情?
n.b.據我所知,lib或dll的是一種選擇(即你不要在構建同時使用)
嗯,我的問題是一個可能的重複http://stackoverflow.com/questions/3605484/where-should-i-put-third-party-libraries –
錯誤的重點,考慮你如何組織你的源控制。這樣它仍然可以檢查5年,並重建完全相同的二進制文件。 C++編譯器和鏈接器不會阻止你。如果你需要靈感,請看github項目。 –
圖書館經常在項目之間共享,因此它們很少適合作爲單個項目的下屬。 –