我正在尝试使用Windows上的clang编译Python 2.7。我认为这样做的解决方案是指定属性CLToolPath和CLToolExe。但是,当我在项目文件中设置这些属性时,msbuild似乎只是忽略它们并继续使用Microsoft编译器。
奇怪的是,当我在命令行中指定这些属性时,msbuild实际上会接收它们。 (但是由于Python 2.7的设置方式的其他方面,构建实际上并没有成功,因此它无法解决问题。它只是证明这些是正确的属性。)
这是项目文件的相关部分
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<Link>
<SubSystem>Console</SubSystem>
</Link>
<ClCompile>
<CLToolPath>C:\llvm\build\Release\bin</CLToolPath>
<CLToolExe>clang-cl.exe</CLToolExe>
</ClCompile>
</ItemDefinitionGroup>
这是我正在使用的命令行
msbuild /t:clean,build /p:Configuration=Release /p:TrackFileAccess=false /p:Platform="x64" /fileLogger pcbuild.sln
知道什么可能导致属性被忽略?
答案 0 :(得分:3)
你把它放到了错误的地方。找到相关的PropertyGroup
代码,并按如下方式添加<CLToolExe>
和<CLToolExe>
:
<PropertyGroup>
<CLToolExe>clang-cl.exe</CLToolExe>
<CLToolPath>C:\llvm\build\Release\bin</CLToolPath>
</PropertyGroup>