Visual Studio 2012包含的路径与命令行不匹配

时间:2015-05-26 21:11:59

标签: visual-studio-2012 include directx include-path

简而言之,传递给CL的命令行与项目属性不匹配,我在命令行上没有覆盖。

我正在尝试编译DX11项目,并为所有项目和配置设置包含路径:

$(IncludePath);$(DXSDK_DIR)Include

但是,DXUT11Lib项目无法编译。如果我查看命令行输出,则传递给命令行的唯一包括:

cl /c /IC:\Users\Dave\Source\SVN\DXFireworks\DXUT11Lib\DXUT11Lib\Core [...other options]

那'核心'文件夹不在配置对话框中的选项中,配置对话框中的文件夹不在那里(DXSDK是显而易见的)。

如果属性对话框包含路径没有进入命令行怎么可能呢?我尽可能肯定我正在查看相同的配置(Win32,All)。

事实上,如果我将VC ++包含目录设置为" BANANA"命令行仍然是:

cl /c /IC:\Users\Dave\Source\SVN\DXFireworks\DXUT11Lib\DXUT11Lib\Core /ZI
/nologo- /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _UNICODE /D UNICODE /Gm
/EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"dxut.h"
/Fp"C:\Users\Dave\Source\SVN\DXFireworks\Debug\dxut11lib.pch" /Fo"Debug\\"
/Fd"C:\Users\Dave\Source\SVN\DXFireworks\Debug\dxut11lib.pdb" /Gd /TP
/showIncludes /analyze- /errorReport:prompt Core\DXUT.cpp

" BANANA"永远不会成功!我已经清理过,删除了sdf文件,所有这些都是出于想法。

此外,如果我转到命令行'属性页我看到'预测'命令行是以下,它与我在启动横幅抑制中看到的不匹配:

/Yu"stdafx.h" /GS /analyze- /W3 /Zc:wchar_t
/I"C:\Users\Dave\Source\SVN\DXFireworks\DXUT11Lib\DXUT11Lib\Core"
/I"E:\SDK\DX9SDK\Include\Include" /Zi /Gm- /O2
/Fd"C:\Users\Dave\Source\SVN\DXFireworks\Release\dxut11lib.pdb" /fp:precise
/D "WIN32" /D "NDEBUG" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX-
/Zc:forScope /Gd /Oy- /MD /Fa"Release\" /EHsc /nologo /Fo"Release\"
/Fp"Release\DXUT11Lib.pch" 

1 个答案:

答案 0 :(得分:1)

根据Visual Studio 2012 documentation,include目录项属性对应于INCLUDE环境变量:

  

包含目录

     

要在其中搜索包含文件的目录   源代码。对应 INCLUDE 环境变量。

所以推测include目录在INCLUDE环境变量中传递,而不是作为命令行参数传递。