visual studio(vs)中項目解決方案的目錄組織安排


最進要用vs建立一個解決方案,同時也要依賴一些第三方庫,為了以后便於維護,因此想讓解決方案的各個文件夾的組織更加合理。通過網上搜索一些網友的解決方案,發現大致可以分為兩種,分別參見網址https://blog.csdn.net/lp310018931/article/details/47991759和https://www.cnblogs.com/zuibunan/p/3843459.html,姑且叫他們方案A和方案B。截屏自上面兩個網址,方案A和方案B的目錄組織可以圖示如下。
方案A:

方案B:

可見,方案A和方案B的主要有兩點不同,1、解決方案sln文件的位置,2、第三方庫的位置。

方案A的sln文件及project文件位於最外層,而方案B多了一個src文件夾,sln文件及project文件位於該文件夾內。方案A依賴的第三方庫分布在include、bin、lib目錄中,而方案B有一個3rd文件夾專門用於存放第三方庫的東西。
綜合上述兩種方案,決定sln文件的位置采用方案B的,這樣的話即使有很多個project,最頂層還是那幾個目錄,不會顯得亂。而第三方庫的位置,采用方案B的,但是在include和lib文件中,都放到相應的以庫名字命名的文件夾下,方便管理,而bin文件則直接放到bin下的當前配置文件夾下。
假設當前sln文件名為test,有A.exe和B.dll兩個項目,依賴於X.dll和Y.dll兩個第三方庫,那么目錄的組織如下圖所示。

補充1:各位兄弟們,那個copy的問題我終於解決了,原來當目標路徑的文件夾不存在時,copy命令就不好用了,提示系統找不到指定的路徑。,把這句話:
copy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName)\;
換成以下這句就OK了……
xcopy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName)\
注意,命令變成了xcopy了,而且最后的分號去掉啦,之后即使Bin目錄下沒有Debug或Release目錄編譯器也會自動生成的!~

補充2:避免下次編譯覆蓋文件提示加個“/y” 參數,具體修改如下:
xcopy $(TargetPath) $(SolutionDir)\Bin\$(ConfigurationName)\ /y
這回就OK了,如果目標文件正在被使用中的話,會提示“共享侵犯”哦!~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM