【问题标题】:How do I set the Output directory for a C++ project built by msbuild?如何为 msbuild 构建的 C++ 项目设置输出目录?
【发布时间】:2009-01-14 18:51:50
【问题描述】:

我有一个 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) 位于同一目录?

【问题讨论】:

    标签: msbuild


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 2017-07-27
      • 1970-01-01
      • 2019-05-12
      • 2011-06-20
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      相关资源
      最近更新 更多