C+ +項目,解決方案總文件夾下就只包含解決方案配置文件sln和一個項目總文件夾和一個Debug文件夾以及一個Release文件夾(共四個東東,其中Debug和Release文件夾中存放最終生成的結果exe或dll,要注意如果不使用Release生成,則不存在Release文件夾),而項目總文件夾下包含C++源文件頭文件、項目配置文件和一個Debug文件夾以及一個Release文件夾(一定要注意,此處的Debug和Release文件夾僅僅存放中間編譯結果obj,不存放exe和dll之類的東西。如果不使用Release編譯,則沒有對應的Release文件夾)。
默認情況下“輸出目錄”和“輸出文件”兩個屬性對應的目錄是一樣的,這樣用着方便(當然,輸出文件的值在輸出目錄的值的基礎上還包含有exe文件名)。如果兩個不一樣,則中間生成的鏈接器用的如xx.ilk和xx.pdb文件等在輸出目錄,而最終生成的xx.exe文件在“輸出文件”屬性設置的目錄中。
vs中工作目錄的設置是給調試用的,也即你啟動調試后,啟動一個新進程,自動把這個新進程的工作目錄設置為vs項目屬性中的工作目錄,然后新進程啟動對應的exe程序。但是如果不使用vs的調試啟動exe,而是直接雙擊exe文件啟動一個新進程時,會自動把這個新進程的工作目錄設置為exe文件所在的目錄,這是和vs啟動調試不同的地方。所以如果發布的時候不把工作目錄內的東西拷到exe所在的目錄內,就會運行出錯,因為此時工作目錄不再是vs中設置的了,而是exe文件所在的目錄。最后,說一下,vs中默認的vc++工程的工作目錄項目的值是空的,代表默認是vs工程所在目錄即.vcproj文件所在目錄。