如何将 Visual studio 2008 编译器设置为 GNU GCC。我还可以将其具体到项目吗? 我没有找到任何确定的答案。
不能直接使用编译器。
但是,您可以调用 makefile 而不是使用内置构建系统。
mingw32-make
mingw32-make
创建一个名为 MinGWMakefile
的 makefile,包含 3 个目标:clean
、build
和 rebuild
。如果您以前从未这样做过,这可能会非常乏味。构建命令行:mingw32-make -f MinGWMakefile build 重建命令行:mingw32-make -f MinGWMakefile重建 清理命令行:mingw32-make -f MinGWMakefile clean
您需要转换 gcc 的输出,从此:
filename:line:message
对此:
filename(line):message
我使用自定义 C++ 程序来做到这一点,但任何正则表达式工具都可以做到这一点。
为了获得最佳结果,请使用 GNU make、Visual Studio makefile 项目和您自己编写的工具。您的 makefile 是一个框架,用于编译文件(使用文件列表的变量),并且您的工具解析 .sln 和 .vcproj 文件以生成此文件列表。 makefile 包含结果。只需要一点胶水和苦劳——你会花一天的时间咒骂制造商不愿意做你想做的事,然后你就能让它工作了。一旦启动并运行,这种方法不需要太多维护。
您可以保持工具和 makefile 简单,只需将所有项目中的所有文件放入混合中并链接结果,使用文件模式来决定每个文件会发生什么,并将所有编译器选项放入 makefile 中。或者您可以变得更聪明,从项目中提取 #defines 并包含路径,并且可能添加一个 Win32 项目配置,makefile 生成器使用该配置来正确处理自定义构建步骤、排除的文件、编译器选项等。
简单的方法应该可以满足大多数人的需求,因为它允许任何人像平常一样向项目添加新文件,而不必关心 makefile,同时使人们很难意外地更改不想更改的设置。
我之前已经描述过这种方法(稍微详细一些):
在 VisualStudio 中使用 Makefile 的好技巧?
(一旦设置完毕,它就可以很好地工作,并且在许多方面它实际上比通常的 VS 方法更方便,甚至在考虑到您现在可以使用其他编译器的事实之前也是如此。)
您也许可以制作一个自定义 makefile 项目来为您解决这个问题。
Visual Studio 的主流场景是成为 MS 开发工具的 IDE。 Windows下使用GNU工具编译比较常见的方式是MinGW或者Cygwin。
使用外部构建系统。 (Makefile 项目)。
据我所知,没有办法做到这一点。 cl 或多或少与 Visual Studio 集成。
我想如果你真的很绝望,你可以尝试创建一个调用 gcc 的预构建步骤,然后做一些事情来阻止 Visual Studio 构建的发生。