如何自定义 Visual C 2010 项目的构建以使用不同的编译器和链接器?

问题描述 投票:0回答:1

我们有一个 Visual Studio 2010 项目,其中包含一堆 C 源文件。

需要编译这些文件,然后使用嵌入式设备的特殊工具链进行链接。

目前,我们正在使用默认的 C++ 构建在 Visual Studio 中对其进行编译,然后在构建后事件中我们调用嵌入式设备的工具链。

我想知道是否有某种方法可以让 Visual Studio 使用我们的工具链而不是 Microsoft 的工具链进行编译和链接。

我尝试覆盖构建目标,并取得了一些进展,但是当开发人员更改项目属性时,项目的 vcxproj 文件会被覆盖。

覆盖构建目标的正确方法是什么?

visual-studio msbuild
1个回答
1
投票

在 Visual Studio 2010 中使用自定义工具链的正确方法是设置自定义平台工具集:

<PlatformToolset>Intel C++ Compiler XE 12.1</PlatformToolset>

这里,我使用的是 Intel C++ 编译器。构建项目时,MSBuild 在目录中查找平台工具集:

c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\$(Architecture)\PlatformToolsets\

其中

$(Architecture)
x64
Win32

但是,要使用自定义工具链,您必须编写 MSBuild 配置文件。就我而言,英特尔 C++ 编译器附带了此类文件。因此,我需要做的就是设置正确的平台工具集(这可以在项目属性窗口中的 Visual Studio 2010 中完成)。

这里是 Visual C++ 团队博客文章的链接,您可以在其中找到更多详细信息: C++ 本机多目标

© www.soinside.com 2019 - 2024. All rights reserved.