c++ - 如何检查库是否可以由特定的 g++ 版本编译?

标签 c++ g++

我正在做一个 c++ 作业,用 g++4.4.7 编译,但我有一些降级问题,所以我决定用更高的 g++ 版本编译它,但我不知道可以使用什么库在g++4.4.7中,有没有我可以查看的文档?

顺便问一下,vector 可以包含在 g++ 4.4.7 中吗?

最佳答案

将编译器降级可能会很麻烦。我不推荐它。我也不建议使用这种过时的编译器进行教学。

就我个人而言,我会选择以下两种方法中的一种:在虚拟机中安装此 Gcc 版本附带的旧 Linux 版本,或者如果它是少数文件,请使用 compiler explorer .

对于虚拟化,我只有 virtualbox 的经验,但是还有其他不错的选择。您搜索具有该版本 Gcc 的 Linux 发行版并以这种方式安装临时计算机。类(class)结束后,您将机器扔掉,而您当前的系统不会受到影响。

更简单的替代方法是简单地将文件插入 compiler explorer ,它有很多不同的编译器版本,包括您需要的编译器。

它确实要求您逐个文件输入,因此我建议编写一个脚本(递归地)解析您的本地包含并创建一个简单的预处理文件,您可以将其插入站点。

当然,请使用受支持的 c++ 版本编写代码,编码时不要使用 c++2a 功能。

关于c++ - 如何检查库是否可以由特定的 g++ 版本编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56481067/

相关文章:

c++ - 抑制 G++ 3.4.6 中的链接错误

opencv - 找不到 -lippicv 的库

c++ - 在 64 位 Debian 环境下编译 32 位 qt 源码

c++ - 如果我不关心返回值,我会遇到性能问题吗

c++ - 即使不添加任何搜索路径,Codeblocks 如何找到我的头文件

c++ - 非常基本的正则表达式场景与我对 libstdc++-v3 的预期不同

c++ - ISO C++ 禁止声明没有类型的 ‘vector’

c++ - Clang编译器为什么会生成错误“在'〜'之后的类名是用来命名析构函数的”?

c++ - 为什么 cout << &r 给出的输出与 cout << (void*)&r 不同?

c++ - stderr 和 stdout 的行为不同