c++ undefined reference std::__cxx11::basic_string_cmakelist std::__cxx11::basic_string undefined ref-程序员宅基地

技术标签: Linux部署  

记录今天遇到的问题:

  1. 使用c++11 写了一段c++程序,使用gcc 7.3编译。程序引用了非c++11编写的静态库。

  2. 链接时总是报某个函数找不到 但是使用nm命令查看,符号确实存在。

我们百度或者Google可以发现,这个原因来源与GCC的版本问题。因为自gcc 5以后引入了新的ABI,简单点说就是gcc5 重写了string和list,我们使用的库的接口一旦使用这几个类,就容易出现这个问题。

https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html

If you get linker errors about undefined references to symbols that involve types in the std::__cxx11 namespace or the tag [abi:cxx11] then it probably indicates that you are trying to link together object files that were compiled with different values for the _GLIBCXX_USE_CXX11_ABI macro. This commonly happens when linking to a third-party library that was compiled with an older version of GCC. If the third-party library cannot be rebuilt with the new ABI then you will need to recompile your code with the old ABI.

对于我的问题,需要在参数上增加 -D_GLIBCXX_USE_CXX11_ABI=0 就解决了。
如果是使用cmake,在CMakelist.txt添加如下定义。

add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xxradon/article/details/103086594

智能推荐

mysql语句_mysql服务启动语句-程序员宅基地

文章浏览阅读218次。mysql语句启动mysql services.msc登录mysql -uroot -proot退出exitmysql 数据库操作数据库表格操作修改表删除表表-数据-增删改查条件查询 (复杂)连接查询(连表查询)子查询 (一个查询的结果作为另一个查询的一部分)启动mysql services.msc登录mysql -uroot -proot退出exitmysql 数据库操作登录mysql -uroot -prootquit/exit查看当前使用数据库: select database();_mysql服务启动语句

网址跳转重定向浏览器html,域名301重定向页面转跳的操作方法-巅云建站-程序员宅基地

文章浏览阅读1.3k次。当网站地址变更时,需要将旧域名301重定向到新的URL地址,实际上就是把旧地址的访问请求重新引导到新域名上。301永久重定向无论是对用户还是搜索引擎都是比较友好的,对SEO完全没有不好的一面。通过旧网站的关键词排名和PR等级都会传递给新网站,网站更换了域名,用域名301永久重定向的方式告诉搜索引擎本网页已经永久性转移到新的域名,避免搜索引擎无法找到页面,网站对于搜索引擎相对比较友好。域名重定向的好..._一个域名301重定向到另一个域名的url上

【软考-软件设计师精华知识点笔记】第八章 算法分析设计_软考决策树-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏11次。【软考-软件设计师精华知识点笔记】第八章 算法分析设计_软考决策树

ubuntu怎么切换到root用户,切换到root账号方法_unbuntu切换到root用户-程序员宅基地

文章浏览阅读2.7w次,点赞28次,收藏169次。ubuntu怎么切换到root用户,使用su root命令,去切换到root权限,会提示输入密码,可是如何也输不对,提示“Authentication failure”或者是提示认证失败。该错误有两种情况一个是密码错了,另一种就是新安装好的Linux系统,暂时还没有给root设置密码。1、打开Ubuntu,输入命令:su root,回车提示输入密码,如何输入都不对。2、给root用户设置密码,命令“sudo passwd root ” 。 输入密码,并确认密码。3、重新输入命_unbuntu切换到root用户

精选2022年大厂高频Java面试真题集锦(含答案),面试一路开挂_java程序员大厂真题解析 作者图灵学院 周瑜-程序员宅基地

文章浏览阅读6.6k次。本文涵盖了阿里巴巴、腾讯、字节跳动、京东、华为等大厂的Java面试真题,不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样会研究大厂的面试题。与此同时,今年算法面试一定是会被问的,而算法不是光靠背面试题就有用的,它是需要数学逻辑思维的,因此,小编会在文末为大家准备一份非常优质的算法学习手册,重点在于学习思维方法,话不多说,直接开始上精选的大厂面试真题!1.JAVA 中的几种数据类型是什么,各自占用多少字节。2.String 类能被继承_java程序员大厂真题解析 作者图灵学院 周瑜

HTMLQQ跳转三方实现聊天功能_htmlqq聊天超链接-程序员宅基地

文章浏览阅读960次。众所周知,我们的网页右侧一般都有一个组件,那就联系QQ这个功能的实现就是一行代码解决QQ推广是不允许复制粘贴网页里的代码< a href="http://wpa.qq.com/msgrd?v=3&uin=1393882772&site=qq&menu=yes">联系客服</a>利用超链接实现跳转外部QQ链接在任何标签里边都可以实现此功能..._htmlqq聊天超链接

随便推点

active dataguard搭建-程序员宅基地

文章浏览阅读91次。从oracle11g开始,支持windows与linux异构dg,同时也开时支持备节点只读打开。所以在企业中,可以实现读写分离,客户知道这个新特性后,要求我们帮他们部署一套这样的active dataguard,来分担他们生产库的压力。下面,我就把我的实施过程发布出来与大家共享!1、安装操作系统及数据库软件具体的安装、建库等操作2、开始配置..._activedataguard

python网络编程-程序员宅基地

文章浏览阅读1w次,点赞34次,收藏216次。python网络编程_python网络编程

python数据结构之数据类型_python 结构体数据类型定义-程序员宅基地

文章浏览阅读2.4k次,点赞21次,收藏80次。????数据结构以前是用java学习的,那都是大一大二的事情了,早忘的差不多了,前段日子刷力扣的数据结构有点忘了,于是打算近期捡起来,让我们用python学习一遍。1.数据是什么?在 Python 以及其他所有面向对象编程语言中,类都是对数据的构成(状态)以及数据 能做什么(行为)的描述。由于类的使用者只能看到数据项的状态和行为,因此类与抽象数据类 型是相似的。在面向对象编程范式中,数据项被称作对象。一个对象就是类的一个实例。2.数据类型2.1内建原子数据类型Python 有两大內建数据类实现了整_python 结构体数据类型定义

python周期函数的拟合_python自定义函数拟合-程序员宅基地

文章浏览阅读607次。import numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import curve_fit#用python拟合函数最主要模块就是cure_fit#准备数据x=[一组数据]y=[一组数据]#定义你自己想要拟合的函数def func(x,E0,B0,B1,V0):return E0+(9.0/16)*V0*B0*(((V0..._用python怎么拟合出周期函数

android 自定义view文字不齐,Android 解决TextView排版参差不齐的问题-程序员宅基地

文章浏览阅读403次。Android 解决TextView排版参差不齐的问题在app中,展示数据时,里面有汉字、数字、特殊字符时,由于全角、半角问题导致TextView参差不齐。在网上找了许多,半角转全角并没什么用,还有其他自定义TextView都有问题。最后终于找到一个,就像Word一样,可以使文字左右两端对齐:package com.monkey.monkeymushroom.view;import android..._android textview文本偏上

【超分辨率(Super-Resolution)】关于【超分辨率重建】专栏的相关说明,包含专栏简介、专栏亮点、适配人群、相关说明、阅读顺序、超分理解、实现流程、研究方向、论文代码数据集汇总等-程序员宅基地

文章浏览阅读8.5k次,点赞54次,收藏23次。本专栏研究领域为【超分辨率重建】,涵盖图像超分、视频超分,实时超分,4K修复等方面。主要内容包括主流算法模型的论文精读、论文复现、毕业设计、涨点手段、调参技巧、论文写作、应用落地等方面。算法模型从SRCNN开始更新至今,一般是一篇论文精读对应一篇论文复现。论文精读详解理论,归化繁为简,归纳核心,积累词句,培养阅读论文和论文写作能力。论文复现依托Pytorch代码,实现完整的模型训练流程,总结调参方法,记录碰到的bug,论文插图可视化,培养读写代码能力、做实验的能力、以及应用落地能力。

推荐文章

热门文章

相关标签