gpt4 book ai didi

c++ - 无法使用 GCC 5.1 工具链编译 C++11 源代码

转载 作者:可可西里 更新时间:2023-11-01 17:05:09 25 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 上使用 GCC 5.1 编译一个使用 C++11 特性编写的库。但是,它提示 std::unique_ptr 未定义。

gcc (Ubuntu 5.1.0-0ubuntu11~14.04.1) 5.1.0
g++ (Ubuntu 5.1.0-0ubuntu11~14.04.1) 5.1.0

CXX 标志:

-std=c++11 -Wall -Wextra -Weffc++ -pedantic

输出:

error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
std::unique_ptr< detail::RegexImpl > m_pimpl;

但是,我能够在 OSX 上编译完全相同的代码。

Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)

CXX 标志:

-stdlib=libc++ -std=c++11 -Wall -Wextra -Weffc++ -pedantic

我做错了什么?

最佳答案

你没有做错任何事。图书馆的来源缺少 #include <memory> .

这只是图书馆作者的一个不幸错误。这对人们来说出奇的普遍to rely on certain standard headers just so happening to include other standard headers on their particular implementation , 没有检查他们是否正在使用所有 #include他们应该声明。

你可以破解 #include现在,但从长远来看,如果项目接受补丁,你应该向库作者提出一个错误,甚至可能贡献一个补丁。

关于c++ - 无法使用 GCC 5.1 工具链编译 C++11 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com