(C++)编译器、界面库和 IDE 之间的关系

有些问题,要是一想一过,不细想,也不转点牛角尖,纠结一下,还真不会注意。

  1. 首先,假设,你选择 C++ 语言。这点是确定无疑。但接下来……
  2. 其次,界面库的选择,是 MFC,还是 Qt?
  3. 最后,选择 IDE,是 Visual Studio,还是 QtCreator?

假定,界面库你选择 Qt,IDE 选择了 QtCreator。

那么,将面临选择什么编译器:微软 MSVC、开源 MinGW、Intel C++编译器、还是……

不要把 VC 拉出来说事,特别在你不清楚这几个概念的情况下:不同的语境下有不同的含义,有人指代 Visual Studio 的 IDE,有人指代类库 MFC,还有人指代其编译器 cl.exe……?

因此,重新换个角度再考虑。

首先,你要写程序,选择了 C++,那么,

  • 你需要有一个 C++ 编译器。微软 MSVC(cl.exe、link.exe、lib.exe……),开源 MinGW……。

接下来,还想写界面,可又不想直接用系统 API。

  • 你就想去找 C++界面库。MFC、Qt、WxWidget、GTKmm……

但总不能用记事本写程序,再在命令行运行编译器 cl.exe 或 g++.exe 等等,就需要一个 IDE 环境。

  • 你想找一个 IDE。Visual studio、QtCreator、dev-c++、eclipse、netbean……

总之,只有第一个,编译器是必须的,其他很重要,但不是必需的。不然早先那些计算机大师们怎么办……编译器、界面库和 IDE 会有非常多的组合,而 Visual studio + MFC + cl.exe 只不过是Windows下,微软帮我们搭好了而已。

原文地址:https://www.cnblogs.com/liuning8023/p/3008811.html