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

时间:2012-04-18 14:51:11

标签: compiler-construction msbuild

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

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

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

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

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

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

此致 阿德里安。

1 个答案:

答案 0 :(得分:1)

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

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

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

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

其中$(Architecture)x64Win32等。

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

这里是Visual C ++ Team Blog中文章的链接,您可以在其中找到更多详细信息: C++ Native Multi-Targeting