使用 g++ 编译,使用向量和数组库

Posted

技术标签:

【中文标题】使用 g++ 编译,使用向量和数组库【英文标题】:Compiling with g++, using vector and array libraries 【发布时间】:2016-08-15 06:12:25 【问题描述】:

在 linux 上使用以下行编译我的 cpp 文件时:

$ g++ -o blabla blabla.cpp

我在标准输出上收到以下消息:

In file included from
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/array:35,
from blabla.cpp:5: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
    include/c++/4.4.7/c++0x_warning.h:31:2:
error: #error This file requires compiler and library support for the
upcoming ISO C++ standard, C++0x. This support is currently
experimental, and must be enabled with the -std=c++0x or -std=gnu++0x
compiler options.

该脚本执行#includes <vector><array> 库,所以我不知道它为什么会失败。

是什么导致了这个错误?

【问题讨论】:

4.4系列于2009年首次发布,因此它认为现在的标准是“实验性的”。 【参考方案1】:

出现上述错误是因为您使用的是 C++ 的最新功能,并且您的默认版本比要求的版本旧。

标志(或编译器选项)只是传递给编译器可执行文件的普通命令行参数。

g++ -std=c++0x -o blabla blabla.cpp

【讨论】:

以上是关于使用 g++ 编译,使用向量和数组库的主要内容,如果未能解决你的问题,请参考以下文章

g++编译使用生成静态库和动态库(Linux)

cpp 使用向量编译错误初始化二维数组

如何在 MS 编译器中使用数组初始化 C++ 向量/集?

[Linux] linux下生成静态库和动态库

2017.11.12 第三章 字符串向量和数组

确保释放向量的 C++ 技巧,但 GNU g++ 的编译问题