2016-03-14 31 views
0

我tyring使用包含 - 什麼,你使用重構我的代碼路徑,但我需要準確地找出哪些目錄VS是拜訪。如何efficienlty得到所有包括MSVC2013

我如何獲取我的項目中文件可見的所有包含路徑的列表?

如果我添加了一個不正確的include,像「#include」這樣的東西,我得到了我想要的列表,但我無法複製並粘貼該死的東西! (並且OCR似乎不起作用)。

如何獲得此列表?如果你想一次手動做到這一點,但不能很好地擴展

enter image description here

+1

實際上,當顯示一個標準消息框(看起來像是一個標準消息框)以複製其內容時,您可以按Ctrl + C。 –

+0

@IgorTandetnik好吧,很酷,想發佈它作爲答案? – Mikhail

+0

@IgorTandetnik是的請發表這個,所以很多人都不知道Ctrl-C在任何標準對話框中工作,而是採取劣勢的方式來獲得它像截圖等 – stijn

回答

1

複製/粘貼在對話框即可。既然你標記了這個msbuild,這裏有一個使用它的解決方案。創建一個文件名showincludes.targets並粘貼此代碼的MSBuild:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="ShowIncludes"> 
    <Message Text="$(Include);%(ClCompile.AdditionalIncludeDirectories)"/> 
    </Target> 
</Project> 

我們獲取列表中包含任何項目文件使用

msbuild \path\to\vcxproj /p:ForceImportAfterCppTargets=\path\to\showincludes.targets /t:ShowIncludes 

這將導入所述文件到項目中給予,所以它可以訪問所有屬性,並打印編譯器默認使用的INCLUDE環境變量的值以及由msbuild傳遞給編譯器的AdditionalIncludeDirectories的值。