也許你已經習慣了vs預設的工程檔案儲存路徑,但有些人希望工程的原始檔和生成檔案能按照自己的安排對號入座,方便管理。例如希望把所有的*.h檔案放入include資料夾,.cpp檔案放入source資料夾,.lib檔案放入lib資料夾,把大量的中間檔案丟進temp等等。
vs2008+sp1
首先解決方案配置設定4個
(當然這個根據你自己需求,如果庫沒有用到tchar之類的巨集,那麼一般定義debug和release就ok拉。)
debug
release
unicode_debug
unicode_release
四個配置的公共設定是
配置屬性->常規->輸出目錄:$(solutiondir)temp/link/$(projectname)/$(configurationname)/
配置屬性->常規->中間目錄:$(solutiondir)temp/compile/$(projectname)/$(configurationname)/
當編譯時候以上檔案目錄會自動生成。
配置屬性->聯結器->高階->導入庫:$(targetdir)$(targetname).lib
配置屬性->生成事件->生成後事件->命令列:
copy $(targetpath) $(projectdir)bin/;
copy $(targetdir)$(targetname).lib $(projectdir)bin/;
copy $(projectdir)include/i$(projectname).h $(projectdir)bin/;
bin資料夾得自己生成哦。i$(projectname).h這個是介面的標頭檔案了,方便c++呼叫哈。
如果有def檔案,
配置屬性->聯結器->輸入->模組定義檔案:source/mc_log.def
注意def檔案中千萬別定義library,否則所有的lib檔案都將匯入該定義名的dll檔案,會出現幾個媳婦搶老公的場面。
預編譯頭實際上是個好東東,可以縮短編譯時間
配置屬性->c/c++->預編譯頭->建立預編譯頭:(/yc)
使用 /yc 建立預編譯頭。與可選的 hdrstop 雜注一起使用時,/yc 允許對頭檔案和源**都進行預編譯。選擇 /yu 在現有編譯中使用現有預編譯頭。還可以將 /fp 與 /yc 和 /yu 選項結合使用,為預編譯頭提供其他名稱。否則會出現fatal error c1083: cannot open precompiled header file: '***.pch': no such file or directory的錯誤
配置屬性->c/c++->預編譯頭->通過檔案建立pch:../include/stdafx.h
如果用編譯頭,那麼必須把所有.cpp檔案放到同乙個資料夾,這樣才能保證大家都能使用同乙個#include "../include/stdafx.h"。
至於stdafx.h叫什麼,放什麼位置都無所謂了。
配置屬性->c/c++->預編譯頭->預編譯標頭檔案:$(intdir)$(targetname).pch
這裡採用預設的中間路徑產生目標檔名稱的pch檔案。
debug和unicode_debug的公共設定:
如果是多系統可以比如win32;或者你想要不同化版本,可以在這裡多設定幾個啦比如version1;在**判斷巨集就知道是哪個版本啦。
配置屬性->c/c++->**生成->執行庫:/mdd
因為預設是/mt,表示使用多執行緒的靜態c庫。定義 _debug、_mt 和 _dll.
配置屬性->聯結器->除錯->生成除錯資訊:是
配置屬性->c/c++->常規->警告登記:3級(/w3)
release和unicode_release的公共設定:
配置屬性->c/c++->預處理器->預處理器定義:ndebug;
配置屬性->c/c++->**生成->執行庫:/md
因為預設是/mt,表示使用多執行緒的靜態c庫。定義 _mt 和 _dll,
配置屬性->聯結器->除錯->生成除錯資訊:否
debug的單獨設定:
配置屬性->常規->字符集:使用多節字
配置屬性->聯結器->常規->輸出檔案:$(outdir)/$(projectname)d.dll
release的單獨設定:
配置屬性->常規->字符集:使用多節字
配置屬性->聯結器->常規->輸出檔案:$(outdir)/$(projectname).dll
unicode_debug的單獨設定:
配置屬性->常規->字符集:使用unicode
配置屬性->聯結器->常規->輸出檔案:$(outdir)/$(projectname)ud.dll
unicode_release的單獨設定:
配置屬性->常規->字符集:使用unicode
配置屬性->聯結器->常規->輸出檔案:$(outdir)/$(projectname)u.dll
這個就是我比較喜歡的工程配置,當然大的解決方案的設定要複雜一點,需要各個工程配置互動。
你可以任意按自己喜好來設定,不管怎樣用了以後你會感覺舒服和方便很多,至少你copy這個解決方案的時候知道哪些可以丟掉,查詢輸出檔案不要頻繁地去翻目錄。
VC 的工程檔案說明
vc 的工程檔案說明 dsp 是 vc 的專案檔案 文字格式。dsw 是工作區檔案 它可以指向乙個或多個 dsp 檔案。clw 是 classwizard 資訊檔案 實際上是 ini檔案的格式。opt 工程關於開發環境的引數檔案,如工具條位置等資訊。aps 資源輔助檔案 二進位制格式。rc 資源檔案...
VC 的工程檔案說明
vc 的工程檔案說明 dsp 是vc 的專案檔案,文字格式。dsw 是工作區檔案,它可以指向乙個或多個.dsp檔案。clw 是 classwizard資訊檔案,實際上是ini檔案的格式。opt 工程關於開發環境的引數檔案,如工具條位置等資訊。rc 資源檔案。plg 是編譯資訊檔案,編譯時的error...
vc 設定工程為unicode
一.確保vc支援unicode程式設計 對普通win32程式,vc是支援unicode的。對mfc程式,還需要mfc42ud相關檔案。如果沒有的話會報cannot open file mfc42ud.lib unresolved external symbol winmain 16錯誤。mfc42u...