C++ 编译错误std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >的两种解决办法

这篇具有很好参考价值的文章主要介绍了C++ 编译错误std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >的两种解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1,错误描述

2,解决办法

3,一种特殊情况


1,错误描述

C++程序编译阶段有个常见的错误,std::__cxx11::basic_***,可能是string,list等,也许程序在其他环境完成编译,在运行环境报错,也许是正在编译阶段报错。

简单来说,这个错误的原因是因为C++不同版本对string、list的定义不同。比如Ubuntu环境,如果程序或依赖编译时版本和运行时gcc/g++版本不一致,就会报这个错误。

2,解决办法

  1. 通过升级或降级编译器版本,使编译环境和运行环境一致。
  2. 把源码放到实际运行环境重新编译。
  3. 在cpp文件使用宏 _GLIBCXX_USE_CXX11_ABI=0,禁用C++11特性

3,一种特殊情况

       有时,使用Visual Studio Code编译C++程序,如果task.json文件引用参数配置不正确,也会报这个错误,只需要在配置文件中加入.h文件和.cpp文件路径即可。

        如下,args参数的 “-I”(大写i)部分。文章来源地址https://www.toymoban.com/news/detail-692883.html

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 生成活动文件",
            "command": "/usr/bin/g++",
            "args": [
                "-I","/home/zpl/workspace/NaviCompTest/extinclude",
                "/home/zpl/workspace/NaviCompTest/src/Utils.cpp",
                "/home/zpl/workspace/NaviCompTest/src/ProcessDataNew.cpp",
                "/home/zpl/workspace/NaviCompTest/src/jsoncpp.cpp",
                "-fdiagnostics-color=always",
                "-L","/home/zpl/workspace/NaviCompTest/bin",
                "-lpie-guidance",
                "-lpie-poi-search",
                "-lpie-routing",
                "-std=c++11", // 添加C++11标志
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

到了这里,关于C++ 编译错误std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >的两种解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c++11 标准模板(STL)(std::basic_ifstream)(一)

    定义于头文件  fstream template     class CharT,     class Traits = std::char_traitsCharT class basic_ifstream : public std::basic_istreamCharT, Traits 类模板 basic_ifstream 实现文件流上的高层输入操作。它将 std::basic_istream 的高层接口赋予基于文件的流缓冲( std::basic_filebuf )。 std::basic_ifstream 的典型实

    2024年02月14日
    浏览(34)
  • c++11 标准模板(STL)(std::basic_stringstream)(四)

    template     class CharT,     class Traits = std::char_traitsCharT class basic_stringstream; (C++11 前) template     class CharT,     class Traits = std::char_traitsCharT,     class Allocator = std::allocatorCharT class basic_stringstream; (C++11 起) 类模板 std::basic_stringstream 实现基于字符串的流上的输入与输出操作。它等效

    2024年02月10日
    浏览(35)
  • c++11 标准模板(STL)(std::basic_stringstream)(一)

    template     class CharT,     class Traits = std::char_traitsCharT class basic_stringstream; (C++11 前) template     class CharT,     class Traits = std::char_traitsCharT,     class Allocator = std::allocatorCharT class basic_stringstream; (C++11 起) 类模板 std::basic_stringstream 实现基于字符串的流上的输入与输出操作。它等效

    2024年02月10日
    浏览(38)
  • C++ 基础: std::string

    std::string是C++标准库中的一个类,用于表示可变长度的字符串。它是由字符类型(通常是char)的数组实现的,并提供了许多字符串操作函数。 std::string的构造函数有多种形式,可以用于初始化空字符串、从字符数组或另一个字符串中复制字符串、从指定长度的字符数组或另一

    2024年02月10日
    浏览(44)
  • c++命名空间和include C++ #include<string> 和 using std::string

    1、C++中的命名空间namespace_51CTO博客_c++中的命名空间   2、 C++ #includestring 和 using std::string_yang20141109的博客-CSDN博客 //不光要加头文件,和C语言不同 #include utils/Errors.h //还要加using using android::status_t; using android::INVALID_OPERATION; using android::NO_ERROR; using android::BAD_VALUE; 3、c和c++的差

    2023年04月20日
    浏览(47)
  • c++命名空间和include C++ #include<string> 和 using std::string

    1、C++中的命名空间namespace_51CTO博客_c++中的命名空间   2、 C++ #includestring 和 using std::string_yang20141109的博客-CSDN博客 //不光要加头文件,和C语言不同 #include utils/Errors.h //还要加using using android::status_t; using android::INVALID_OPERATION; using android::NO_ERROR; using android::BAD_VALUE; 3、c和c++的差

    2023年04月20日
    浏览(47)
  • C/C++开发,VS2019编译报错:error C2039: “string“: 不是 “std“ 的成员

    C/C++开发,VS2019编译报错如下: 在VS2019中,对语法的检查更严格,缺少相应的头文件 添加文件件C++头文件

    2024年02月16日
    浏览(37)
  • C++面试八股文:std::string是如何实现的?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第18面: 面试官: std::string 用过吧? 二师兄:当然用过(废话,C++程序员就没有没用过 std::string 的)。 面试官: std::string(\\\"hello\\\")+\\\"world\\\" 、 \\\"hello\\\"+std::string(\\\"world\\\") 和 std::string(\\\"hello\\\")+std::string(\\\"world\\\") 的结果是什么?为什么? 二师

    2024年02月09日
    浏览(40)
  • 探索C++中std::string的弱点:你可能未曾注意到的缺点

    C++中std::string是一个非常重要的类,用于表示和处理字符串数据。它提供了一种便利的,面向对象的方式来操作字符串,大大简化了字符串操作的复杂性。 std::string在C++中的重要性: std::string提供了丰富的成员函数和操作符来处理字符串,包括连接、查找、替换、截取等功能

    2024年01月20日
    浏览(85)
  • C++之std::list<string>::iterator迭代器应用实例(一百七十九)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:An

    2024年02月12日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包