我目前正在将一些 32 位代码移植到 64 位(以及从 VS 2010 到 VS 2012)。为了能够生成 32 位和 64 位,我将以下内容放入属性文件(包含在所有项目文件中):
<PropertyGroup>
<CALRoot Condition=" '$(CALRoot)' == '' ">..\..\..</CALRoot>
<CALBuildSubDir Condition=" '$(Platform)' == 'Win32' ">32bit</CALBuildSubDir>
<CALBuildSubDir Condition=" '$(Platform)' == 'x64' ">64bit</CALBuildSubDir>
<CALBuildDir>$(CALRoot)\Build\VC12.0-$(CALBuildSubDir)\</CALBuildDir>
<OutDir>$(CALBuildDir)$(ExtraBuildDir)$(Configuration)\</OutDir>
<IntDir>$(CALBuildDir)$(ExtraBuildDir)$(Configuration)\obj\$(TargetName)\</IntDir>
</PropertyGroup>
当我用
构建时,一切
都按我Platform = Win32
期望的方式工作:inCALUtils.{dll, exp,ilk,lib,pdb}
和
Build\VC12.0-32bit\Debug
其他一切(
包括
CALUtils.log
in这一个文件放错了位置。Build\VC12.0-32bit\Debug\obj\CALUtils
Platform = x64
CALUtils.log
CALUtils.log
Build\VC12.0-\Debug\obj\CALUtils
Build\VC12.0-64bit\Debug
Build\VC12.0-64bit\Debug\obj\CALUtils
我一直无法在项目文件或带有字符串的属性文件中找到任何其他位置VC12.0-
,但也许还有其他东西在起作用。有没有人知道日志文件的名称中可能涉及哪些额外的变量,或者为什么或如何以不同的方式处理它(并且仅在 64 位版本中)?或者这是某个地方的错误?ect 文件。)