运行 Visual Studio 2015 年 C++98 模式下的一个项目

Run a project in Visual Studio 2015 in C++98 mode

我目前有一个项目,是我在 Visual Studio 2015 年使用最新的编译器(即默认编译器)编写的。不幸的是,我需要我的项目在 C++98 环境中编译和执行——在 Visual Studio 中,我是否可以通过某种方式更改编译器版本来执行此操作,以便我可以检查我的项目是否仍然有效?

此外,在这个项目中我使用的是 FLTK 1.3.3(一个 GUI 包)- 如果我确实可以在 Visual Studio 2015 年使用 C++98 模式重建这个库?

简短的回答是否定的。您不能更改 VS 编译时使用的 cl.exe。您可以设置一个 makeile 项目以使用旧版本的 mingw 或类似的:

Can I force visual studio to use mingw compiler

Here是一些关于创建makefile项目的信息。

在 VS 2015 Update 1 中使用 Microsoft CodeGen Clang

您可能想查看 Visual Studio 2015 Update 1 的新功能,clang/c2(带有 Microsoft c2 codegen 的 clang 前端)。

您应该能够使用 -std=c++98 -pedantic 标志,从而强制使用 C++98 模式。但是,您需要使用此工具链重新编译您使用的每个 C++ 库(尽管 C 库理论上应该可以工作)。

请注意,在标准兼容模式下编译并不能保证您将能够使用那个时代的编译器编译您的程序。那些黑暗日子里的 C++ 编译器很少符合标准。您可能想选择一个具体的编译器并直接检查所有内容。