不使用Visual Studio,能否在Windows上用C++进行开发?

26

我渴望从事实时3D图形工作。我几乎只使用C++编程语言,稍微涉及一些win32编程。现实情况是,我有没有其他理智的选择?


2
仇恨很少是一个经过仔细研究的立场。特别是当你在一个愤怒的言论(占你问题71%的行数)前缀一个本来可以是一个不错问题的时候。 - paxdiablo
2
但是公正地说,这个IDE确实非常缓慢,并且对您的工作方式和项目结构做出一些非常强烈的假设,有时会让我发疯。但是,在很多方面,它确实也是一个非常棒的IDE。那么,它有什么不足之处呢? :) - jalf
1
你不是第一个因此而卡住的人(尽管大多数人在不到“数百小时”的“仔细研究”后就能弄明白);但请将其作为一个单独的问题提出,以便其他人也可以找到并受益于它。 - jalf
2
很遗憾,VS C++项目模板并不是很直观。它们倾向于用许多默认代码填满您的文件,而这些代码往往是从未被使用的,对于刚选择默认选项的初学者来说这会带来预编译头文件和其他非标准复杂性的问题。 - jalf
5
VS远非完美。它加载速度很慢,尤其是对于C/C++更新智能感知数据库也很慢,偶尔会有崩溃的倾向,当你正在输入一些代码的时候,它可能会突然失踪,几秒钟后才重新出现。它可以更好。 - jussij
显示剩余3条评论
14个回答

21

你可以不使用集成开发环境(IDE)来使用MSVC编译器,这可能是最佳选择。它是一个好的编译器,并且是Windows开发的事实标准。

放弃IDE直接使用编译器绝对没有问题。

我相信可以在Code::Blocks IDE中轻松地使用MSVC编译器。 或者,从命令行调用编译器也是一种可靠的方法。


你也可以使用 MSBuild 或者 XBuild(如果你正在开发 MONO),以及Windows SDK 来实现同样的功能,而无需下载和安装 Visual Studio。 - FilBot3
2
这要看情况。在最近的版本中,MSVC++编译器只能作为Visual Studio的一部分使用。另一方面,.NET编译器已经可以单独使用(我不记得它们是Windows SDK的一部分还是一个单独的包)。MSBuild可以很好地与该编译器配合使用。如果您想使用第三方编译器(例如Mono的一部分),您仍然可以使用MSBuild,但您需要编写必要的配置和扩展,以便正确调用“外来”编译器。 - jalf
3
该信息已不再准确。从Visual Studio 2017开始,Visual Studio构建工具现在可作为单独的下载提供。请参阅介绍Visual Studio构建工具以获取更多信息。 - IInspectable

9

当然还有emacsclang - user142019

6

依赖...

Cygwin/Mingwin会为您提供编译器。Qt或wxWidgets提供易于使用且具有可移植性的GUI工具包。

虽然我同意这个问题,但Visual Studio很繁琐。它的调试器非常好用,但其他功能很难使用(尤其是当你来自OSS背景时,那些工具通常不会试图将你锁定)。

您还可以查看nmake并从命令行直接调用VC++编译器工具。


我不理解你所说的“试图锁定你”的意思。我有一种感觉,就是我可以让 VS 做任何我想要的事情,对我来说,VS 似乎非常灵活和可塑。 - Emile Vrijdags
4
只要“我想要的东西”与“微软想要的东西”相符,VS是很棒的。它可以自定义,但是你只能使用它的界面、项目文件格式和编译器。如果没有VS,构建软件就需要花费很多精力。使用基于Makefile的项目和标准编译器工具更加明智,特别是如果你预计将程序移植到非Windows平台。 - Adam Hawes

5
我们使用VC++作为编译器/链接器,但使用Jam来驱动构建。实际的Visual Studio仅用作调试器。好处是一旦我们设置了Jam来构建Windows项目,就需要很少的工作(通常是没有)来使其在Unix上运行。

4

Zeus IDE作为MSVC的替代品运行良好。它甚至可以导入MSVC项目和解决方案文件。


3
有点晚了,但我想补充一下,在2018年,终于出现了一种可行的替代品,足以承诺从Windows C++开发中解放VS垄断:

不幸的是,标准库头文件仍需要 Microsoft Build 工具,但与整个 VS 庞然大物相比,下载大小微不足道。好处是,Clang-cl 会自动捕获它们,而且 Build 工具并不强制要求你让它们的可执行文件在线进行登录激活免费许可证

将所有内容设置为工作配置比组合 VS 项目/解决方案要复杂一些,但完全值得。作为奖励,手动设置可能会让您更好地了解 IDE 内部发生的事情。

可能会错过的一件事是绝妙的 VS 调试器...好吧,如果您准备打破惯例,开源 x64dbg 可能会拯救您,包括通过 .pdb 文件查看和步进源代码的功能(是的,Clang 现在可以生成它们!)。

更新:截至2019年,一个比EasyClangComplete更好且具有未来性的替代方案是通过LSP插件使用Clangd


如何使用Visual Studio构建工具在Windows上安装Clang - Sergei Voronezhskii

2
当然可以,但是使用微软的集成开发环境来为Microsoft操作系统开发确实更加容易。入乡随俗嘛... Eclipse 是一个好的替代品。

2

Code::Blocks集成了MinGW C++编译器和wxWidgits支持。该IDE相对简约,也许正是您所需要的 - 我非常喜欢它。


1
我确定会因为这个受到很多指责,但是我发现C++Builder比MSVC更容易开发Windows C++应用程序。它可能不是最便宜的解决方案,也没有所有相同的功能,也不是最符合语言标准的(它的32位编译器还不支持C++11,但是它的64位编译器支持),但你真的无法打败它的可视化UI设计师和第三方组件市场。

1
我建议你看一下Notepad++, MSBuildWindows SDK。你也可以使用XBuild,但那更偏向于MONO。请注意,MSBuild和XBuild只是自动化工具,所以你需要花更多时间来学习Windows SDK。

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