如何为msbuild构建的C ++项目设置Output目录?

时间:2009-01-14 18:51:50

标签: msbuild

我有一个MSBuild .proj文件,它正在编译C#和C ++项目的混合。

C#项目将输出(.exe / .dlls)编译到我指定的OutputPath,但是当我为C ++项目(调用vcbuild.exe)指定OutputPath时,OutputPath将被忽略,而是进入指定的目录.vcproj的属性页。

这是我的MSBuild任务:

    <MSBuild Projects="$(SourceFolder)\$(NativeSolutionName)"
             Targets="$(BuildTargets)"
             Properties="Configuration=$(Configuration);PlatformName=Win32;OutputPath=$(ToolsOutputDir)">
    </MSBuild>

如何指定C ++输出文件应该转到与C#输出文件$(ToolsOutputDir)相同的目录?

1 个答案:

答案 0 :(得分:1)

我能够通过以下方式完成这项工作:

1)安装Microsoft SDC MSBuild Tasks Library

2)在C ++项目的属性页面中,将输出目录设置为$(OutputPath)

3)在通过VCBuild构建C ++项目之前,添加SDC任务以设置环境变量OutputPath

    <Microsoft.Sdc.Tasks.SetEnvironmentVariable Variable="OutputPath" Value="$(ToolsOutputDir)" Target="Process"/>

    <!-- Build any CPP code x86 -->
    <MSBuild Projects="$(SourceFolder)\$(NativeSolutionName)"
             Targets="$(BuildTargets)"
             Properties="Configuration=$(Configuration);PlatformName=Win32;OutputPath=$(ToolsOutputDir)">
    </MSBuild>