jjzjj

libstdc++

全部标签

c++ - 将 std::shared_ptr 与 clang++ 和 libstdc++ 一起使用

我正在尝试使用libstdc++(4.6.1)在clang++(clang版本3.1(trunk143100))中使用std::shared_ptr。我有一个小演示程序:#includeintmain(){std::shared_ptrsome(newint);std::shared_ptrother(some);return0;}可以使用:clang++-std=c++0x-omainmain.cpp并给出以下错误输出:main.cpp:6:23:error:calltodeletedconstructorof'std::shared_ptr'std::shared_ptrother

C++前向声明问题

我有一个包含一些前向声明的头文件,但是当我在实现文件中包含头文件时,它会被包含在先前前向声明的包含之后,这会导致这样的错误。error:usingtypedef-name‘std::ifstream’after‘class’/usr/include/c++/4.2.1/iosfwd:145:error:‘std::ifstream’hasapreviousdeclaration.classifstream;classA{ifstream*inStream;}//EndofA.h#includeusingstd::ifstream;#include"A.h"//etc解决这个问题的标准是

C++前向声明问题

我有一个包含一些前向声明的头文件,但是当我在实现文件中包含头文件时,它会被包含在先前前向声明的包含之后,这会导致这样的错误。error:usingtypedef-name‘std::ifstream’after‘class’/usr/include/c++/4.2.1/iosfwd:145:error:‘std::ifstream’hasapreviousdeclaration.classifstream;classA{ifstream*inStream;}//EndofA.h#includeusingstd::ifstream;#include"A.h"//etc解决这个问题的标准是

c++ - 未找到版本 `GLIBCXX_3.4.22'

我在VMUbuntu16.04上构建了一个C++应用程序,我在该VM上安装了g++编译器6.2.0以支持C++14功能。当我尝试在默认为g++5.4.0的新干净VM16.04上运行它时,错误/usr/lib/x86_64-linux-gnu/libstdc++.so.6:version`GLIBCXX_3.4.22'notfound弹出。我注意到在VM上安装了更新的编译器库libstdc++.so.6.0.22。在干净的VM上,我想避免更新编译器,所以我尝试只安装最新的libstdc++6包。但是安装的库是libstdc++.so.6.0.21,所以问题仍然存在。如何专门安装libst

c++ - 未找到版本 `GLIBCXX_3.4.22'

我在VMUbuntu16.04上构建了一个C++应用程序,我在该VM上安装了g++编译器6.2.0以支持C++14功能。当我尝试在默认为g++5.4.0的新干净VM16.04上运行它时,错误/usr/lib/x86_64-linux-gnu/libstdc++.so.6:version`GLIBCXX_3.4.22'notfound弹出。我注意到在VM上安装了更新的编译器库libstdc++.so.6.0.22。在干净的VM上,我想避免更新编译器,所以我尝试只安装最新的libstdc++6包。但是安装的库是libstdc++.so.6.0.21,所以问题仍然存在。如何专门安装libst

c++ - 测试 libstdc++ 的版本是否使用符合 C++11 的 std::string

我正在编写一些C++11代码,这些代码对std::string的性质做出假设,这些假设是有效的,但代表了C++11中更改的行为。在早期,libstdc++的basic_string实现符合98/03要求,但不符合更严格的C++11要求。据我了解,libstdc++已经修复了围绕basic_string的问题。问题是人们使用的许多版本的库都没有实现这个修复。而且我的代码可能会以许多令人不快的方式默默地失败。如果用户尝试针对那些不符合标准的libstdc++版本编译我的库,我希望触发static_assert。如何检测版本,同样重要的是,我应该寻找哪个版本? 最

c++ - 测试 libstdc++ 的版本是否使用符合 C++11 的 std::string

我正在编写一些C++11代码,这些代码对std::string的性质做出假设,这些假设是有效的,但代表了C++11中更改的行为。在早期,libstdc++的basic_string实现符合98/03要求,但不符合更严格的C++11要求。据我了解,libstdc++已经修复了围绕basic_string的问题。问题是人们使用的许多版本的库都没有实现这个修复。而且我的代码可能会以许多令人不快的方式默默地失败。如果用户尝试针对那些不符合标准的libstdc++版本编译我的库,我希望触发static_assert。如何检测版本,同样重要的是,我应该寻找哪个版本? 最

c++ - 避免链接到 libstdc++

我正在开发一个嵌入式项目,该项目目前在Linux和uClibc中使用C。我们有兴趣将其移至C++,但我不希望与libstdc++中的链接相关的开销。我的印象是,如果我们不使用STL中的任何东西,例如iostream或vector,这是可能的。如何在不链接到libstdc++的情况下指导g++编译? 最佳答案 你可以使用g++-nodefaultlibs-fno-exceptionsa.cc但你不能以这种方式使用所有c++功能... 关于c++-避免链接到libstdc++,我们在Stac

c++ - 避免链接到 libstdc++

我正在开发一个嵌入式项目,该项目目前在Linux和uClibc中使用C。我们有兴趣将其移至C++,但我不希望与libstdc++中的链接相关的开销。我的印象是,如果我们不使用STL中的任何东西,例如iostream或vector,这是可能的。如何在不链接到libstdc++的情况下指导g++编译? 最佳答案 你可以使用g++-nodefaultlibs-fno-exceptionsa.cc但你不能以这种方式使用所有c++功能... 关于c++-避免链接到libstdc++,我们在Stac

c++ - libstdc++ 并行模式 : Who's using it? 安全吗?有没有类似的项目?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。ImprovethisquestionC++库的GNU实现支持并行模式,解释here.有使用过的经验吗?好的?坏的?尤其是在正确性方面,还有性能方面。是否有一些“或多或少严肃”的项目在使用它?您是否将它与全局开启并行开关-D_GLIBCXX_PARALLEL一起使用,或者您是否小心地将其与手动开启特定并行化函数一起使用,例如:__gnu_parallel::sort(v.begin(),v.end());?有没有类似的开源项目