如何在Visual Studio 2008中设置GNU G++编译器

4

如何将我的Visual Studio 2008编译器设置为GNU GCC?我能否针对特定项目进行设置?我没有找到任何确定的答案。

谢谢。


你为什么要这样做?Visual Studio可能是存在的最讨厌、最有bug的IDE。唯一使用它的原因是与微软的编译器和调试器集成,或者被告知要使用它。试试Eclipse或其他东西吧。 - Edward Strange
5个回答

6

您不能直接使用编译器。

但是,您可以调用一个makefile来代替使用内置的构建系统。

配置示例:


  1. 安装MinGW(我猜这一步已经完成),包括mingw32-make
  2. mingw32-make创建一个名为MinGWMakefile的makefile,其中包含3个目标:cleanbuildrebuild。如果您以前从未做过这件事,这可能非常繁琐。
  3. 为您的项目创建一个新的配置
  4. 进入配置属性->常规->配置类型,并选择“makefile”
  5. 进入配置属性->NMake,并使用以下命令行:
    Build Command Line: mingw32-make -f MinGWMakefile build
    ReBuild Command Line: mingw32-make -f MinGWMakefile rebuild
    Clean Command Line: mingw32-make -f MinGWMakefile clean

启用编译器消息中的“转到行”功能:


您需要将gcc的输出转换为以下内容:

filename:line:message

转化为:

filename(line):message

我曾用一款自定义的C++程序来实现此功能,但任何正则表达式工具都能胜任。

2
为达到最佳效果,请使用GNU make、Visual Studio的makefile项目以及您自己编写的工具。您的makefile是一个框架,它可以编译文件(使用变量来存储文件列表),而您的工具则解析.sln和.vcproj文件以生成此文件列表。makefile包含了结果。只需要一点胶水和肘膀油——你会花一天时间诅咒make不愿意按照你的意愿去做,然后你就会让它起作用。一旦开始运行,这种方法不需要太多维护。
您可以保持工具和makefile简单,只需将所有项目中的所有文件混合在一起并链接结果,使用文件模式来决定每个文件的处理方式,并将所有编译器选项放在makefile中。或者您可以更聪明一些,从项目中提取#define和include路径,可能添加一个Win32项目配置,使makefile生成器能够正确处理自定义构建步骤、排除的文件、编译器选项等。
简单的方法应该能够满足大多数人的需求,因为它允许任何人像往常一样向项目中添加新文件,而不必关心makefile,同时使人们难以意外地更改不想更改的设置。
我之前曾经描述过这种方法(稍微详细一点)。

在VisualStudio中使用Makefiles的好技巧?

(一旦你设置好了,它就能很好地工作,在许多方面上它实际上比通常的VS方法更方便,甚至在考虑你现在可以使用其他编译器之前。)


1

你可以尝试创建一个自定义的makefile项目来解决这个问题。

Visual Studio主要是作为MS开发工具的IDE。在Windows下使用GNU工具进行编译的常见方式是MinGW或Cygwin。


0

使用外部构建系统(Makefile 项目)。


-2
据我所知,没有办法实现这一点。cl 已经或多或少地与 Visual Studio 集成在一起。
我猜如果你真的很绝望,可以尝试创建一个预构建步骤来调用 gcc,然后做一些事情来阻止 Visual Studio 构建。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接