是否有免费的开源工具供 MS Visual C++ Express 使用 gcc 构建?

Posted

技术标签:

【中文标题】是否有免费的开源工具供 MS Visual C++ Express 使用 gcc 构建?【英文标题】:Is there an open source for free tool for MS Visual C++ Express to build using gcc? 【发布时间】:2011-05-03 21:27:01 【问题描述】:

虽然 Microsoft 编译器通常可以构建更快的代码,但我所处的环境需要使用 gcc 构建 Linux 应用程序。我更喜欢 MSVS 和 Express 版本作为我的 IDE,并且能够对其进行配置,以便 Intellisense 和所有其他不错的功能都可以正常工作。但是,我一直无法找到一种简单的方法来使用 gcc 构建 VC++ Express 2010。我不知道我是否记错了,但我认为大约五年前使用 MSVS 时支持切换编译器。

我找到了一个声称可以做到这一点的下载扩展程序,但它的成本约为 50 美元。有没有人知道任何可以完成上述任务的免费或开源工具?

【问题讨论】:

***.com/questions/216025/gcc-with-visual-studio 可能不会 - VS Express 不允许扩展。 对不起,用错词了...“外部工具”会更好用。并不是说从上面的解释中很难理解其含义,但吹毛求疵确实有助于检查每个人的词汇量。 【参考方案1】:

尝试 CMake:http://www.cmake.org/。它是一个跨平台、跨 IDE 的构建系统。它将生成 VS项目为你,和普通的makefile(或eclipse,或你需要的)。 然后,使用 VS 编辑代码,并使用“make”来构建它。我自己在虚拟机上开发windows + linux。它工作得很好。

【讨论】:

这可以直接在IDE中完成吗?我已经有 makefile 并且可以从命令行构建,这里的目标是让 VC++ 使用 gcc 而不是 cl 构建。 不,它不能。你需要为它创建“特殊的makefile”。然后运行“生成器”,它将创建 VS 解决方案和 makefile。 无赖。在对此进行了大量搜索之后,似乎真的没有开源或免费工具可以实现这一点。不过这个周末我会玩cmake,看看我能做什么。也许我最终会制作自己的工具并为开源事业做出贡献(我只是认为强制使用针对 Linux 的 Microsoft 工具会很棒)。 PS - 如果效果不错,我会支持你的答案,如果我能以某种方式将 CMake 包装为外部工具并直接从 IDE 完成,我一定会给你答案在这个上。【参考方案2】:

据我所知,没有插件,但您可以简单地设置一些自定义构建规则并让 gcc 编译您的项目,而不是 cl

GoogleVisual Studio 中的Custom build rules / 提供您自己的makefile。另请注意,如果您仍然希望能够调试您的应用程序,您可能应该寻找类似WinGDB 的内容。

这种方法的好处是您可以将配置从cl 切换到gcc,例如,轻松测试您的应用程序是否在这两种方法中都可编译。

不过,最好的方法可能是使用一些自动构建工具,例如 cmakescons,它们大大简化了流程,并且可以帮助您在几分钟内切换到任何其他 IDE

我个人喜欢scons,因为它是python-driven,但从cmake 开始非常好。

【讨论】:

另外提一下,cl更快的代码 显然是一个神话。 不幸的是,谷歌搜索该搜索屏幕会返回很多没有达到我要求的内容。我不是唯一一个寻找这种工具的人,所以如果它像你说的那么简单,那么很可能其他人已经做过了。我不想在这里重新创建***并开发新工具……我正在寻找可以轻松导入到我已经在做的事情中的东西。 啊,看,我不是唯一一个...我刚刚找到了更好的explanation 问题,其中大部分我已经解决了。最后一点是让 gcc 工作而无需修改文件扩展名或只需找到一个工具来执行此操作(就像我之前提到的,有类似的工具可用,例如你提到的 WinGDB,但我正在寻找免费开源工具)。

以上是关于是否有免费的开源工具供 MS Visual C++ Express 使用 gcc 构建?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Leak Detector 2 2 3 Visual C++内存检测工具

microsoft visual c++6.0和micorostf visual c++ 2010 express有啥区别

电脑问题 Microsoft visual c++ Runtime Library

我正在使用 MS Visual C++ Express 为 C++ 寻找一个简单的套接字接口

Visual Studio 中用于 C++ 的免费 IntelliSense

MS Visual Studio 2012 Express 是不是同时包含 C#、Visual Basic、C++? [关闭]