為Visual Studio添加默認INCLUDE包含路徑一勞永逸的方法(更新)


你是否曾經也有過這樣的問題:

用VS的時候,有時會用到一些非自帶的庫,例如WTL、Boost、DX等,每次需要用到時都要在項目屬性里添加相應的include目錄,久而久之覺得有點麻煩。是否有解決辦法呢?

於是我便在網上找相關資料,在StackOverflow網站上找到一篇相關的文章(原文鏈接),文章里提到的一個辦法是修改 

C:\Users\<user>\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props 這個文件,在這個文件里添加需要include的目錄,之前我一直是用這個方法,也沒啥問題。

當我安裝了VS2012之后,問題變出現了。在VS2012上新建一個MFC的工程,什么也沒動,居然編譯不通過,提示找不到某些文件,我便聯想到了是不是之前修改了影響到了,於是我果斷把修改的那個文件恢復成默認的內容,再試,結果就沒問題了。。。可是這樣就得每次都手動添加WTL的目錄了。。我便開始翻VS的一些配置文件。

解決方案一:

修改 "VS安裝目錄中的\VC\VCWizards\default.vcxproj" 這個文件,(這其實就是個xml文件)

如我的目錄是"D:\Program Files\Microsoft Visual Studio 11.0\VC\VCWizards\default.vcxproj"

如果我要添加的目錄是"D:\Program Files\Microsoft Visual Studio 11.0\VC\WTL\include";

用文本編輯器打開這個文件,定位到文件末尾,在</Project>之前插入如下內容

  <PropertyGroup>
    <IncludePath>$(VCInstallDir)\WTL\include;$(IncludePath)</IncludePath>
  </PropertyGroup>

$(VCInstallDir)\WTL\include;就是需要添加的目錄了。$(VCInstallDir)是VS里的環境變量(在我的電腦上就是"D:\Program Files\Microsoft Visual Studio 11.0\VC"),表示VC的安裝目錄。$(IncludePath)是表示原有的路徑。實際上最終得到的路徑如圖里四個

如果需要添加lib文件的路徑的話。格式就是<LibraryPath></LibraryPath>

添加完后保存即可,新建一個項目后,在項目屬性里可以看到目錄已經加進去了。大功告成,VS2010也是用同樣的方法,只不過目錄不同了。

解決方案二:

這個方法是結合了開頭提到的StackOverflow網站上的修改方法。

依然是修改 "VS安裝目錄中的\VC\VCWizards\default.vcxproj" 這個文件,只不過這里修改的地方不同,用文本編輯器打開該文件,查找"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"這段內容,

其實這里就是指向了我電腦上的那個文件C:\Users\HwangBae\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props;這里我就想到了,為VS2010和VS2012指定不同的文件,

將"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"全部替換成"$(UserRootDir)\VC11\Microsoft.Cpp.$(Platform).user.props"。

然后在C:\Users\HwangBae\AppData\Local\Microsoft\MSBuild\v4.0這個目錄下創建了兩個文件夾,分別命名為VC10和VC11,然后將Microsoft.Cpp.Win32.user.props復制到這兩個文件夾,然后除了這兩個文件夾外的文件均可刪除,其他的文件VS會在那兩個文件夾里自動重新創建的;

然后編輯Microsoft.Cpp.Win32.user.props這個文件,在<Project>節點下按照方法一的步驟插入同樣的代碼。在VS2010的目錄下也做同樣的替換。到此就完事了。測試無任何問題。

 

總結一下這兩種方法的區別,方法一修改后,只對新建的項目有效,在沒修改之前創建的項目是無效的,而方法對於之前創建的項目也有效。哪種方法比較適合大家自己取舍。

轉載請標明出處,原文地址:
http://www.cnblogs.com/hwangbae/archive/2012/06/24/2560463.html
如果覺得本文對您有幫助,請支持一下,您的支持是我寫作最大的動力,謝謝。


免責聲明!

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



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