在生成服务器上将C ++ dll生成到两个平台(x86 + x64)

时间:2019-05-23 06:40:37

标签: c# c++ msbuild teamcity

是否可以在构建服务器(TeamCity)上构建(msbuild)用于32位和64位的C ++库?

我的解决方案由一些C#项目(所有AnyCPU)和一个C ++组成:

  • Win32->构建到x86
  • x64->构建到x64

使用msbuild脚本中的此目标对其进行了尝试:

<Target Name="AfterBuild">
    <MSBuild Condition=" '$(Platform)' == 'Win32' " Projects="$(MSBuildProjectFile)" 
             Properties="Platform=x64;PlatFormTarget=x64" RunEachTargetSeparately="true" />
</Target>

但没有成功! (将使用在配置窗口中选择的平台)

1 个答案:

答案 0 :(得分:0)

我通过在VisualStudio中添加新配置以仅构建本机解决了该问题 用于32位的C ++库。

  1. 创建新配置,例如NativeLibs_x86
  2. 仅将C ++ lib和Platform的构建复选框选中到Win32
  3. 在您的msbuild脚本中添加一个新目标以构建NativeLibs_x86
  

<目标名称=“ BuildNativeLibs”>           
      

  1. 考虑目标BuildNativeLibs,例如BuildRelease目标