0

私は現在、いくつかの 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、すべてが期待どおりに機能します: CALUtils.{dll, exp,ilk,lib,pdb}in Build\VC12.0-32bit\Debug、およびその他すべて ( CALUtils.loginを含みます。ただし、 でBuild\VC12.0-32bit\Debug\obj\CALUtilsビルドすると、 (そして 最終的にはdirectory になり ます。それ以外はすべて、私が期待する場所 (または ); だけです)この 1 つのファイルが間違っています。Platform = x64CALUtils.logCALUtils.logBuild\VC12.0-\Debug\obj\CALUtilsBuild\VC12.0-64bit\DebugBuild\VC12.0-64bit\Debug\obj\CALUtils

プロジェクト ファイルまたはプロパティ ファイルで文字列 を含む他の場所を見つけることができませんでしたが、VC12.0-何か他のことが関係している可能性があります。ログファイルの名前にどのような追加変数が含まれるか、またはそれが異なる理由または方法で処理される (64 ビットビルドのみ) ことについて、誰か考えはありますか? それとも、これはどこかのバグですか?ect ファイルです。)

4

0 に答える 0