zoukankan      html  css  js  c++  java
  • debug运行报错解决:symbol __cxa_throw_bad_array_new_length version Qt_5 not defined in file libQt5Gui.so.5 with link time reference

    Ubuntu18.04系统下,为使用restful,加入cpprestsdk(sudo apt-get install libcpprest-dev)后qt debug运行报错:(可执行目录加上各种依赖库后,可直接正常运行)

    15:49:41: Starting /home/***/***Server/***Server...
    /home/***/***Server/***Server: relocation error: /home/***/***Server/***Server: symbol __cxa_throw_bad_array_new_length version Qt_5 not defined in file libQt5Gui.so.5 with link time reference
    15:49:42: /home/***/***Server/***Server exited with code 127

    经过多方查找、分析(网络搜索),问题应该出在系统中同一个库在多个目录下有多个版本,造成冲突引起的。

    (参考文章:https://blog.csdn.net/carry1beyond/article/details/54880861;https://blog.csdn.net/kakaxi2222/article/details/46820509;https://blog.csdn.net/qq_24963323/article/details/82344408)

    本项目报错的原因最后发现应该是 Qt libstdc++-6.dll引起的。

     由于本项目报错情况与参考文章中刚好相反,是debug运行报错,执行目录运行正常,故应该在qt的pro文件中指定libstdc++库的路径,如下:

    本项目需要的cpprestsdk需要在pro中添加如下库

    INCLUDEPATH +=/usr/include/openssl
    INCLUDEPATH +=/usr/include/cpprest/
    LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lcpprest -lssl -lcrypto -lstdc++   # -lboost_system -lboost_thread -lboost_chrono(#部分的库也是需要的,由于在其它项目中已经存在故注释,实际情况按需添加)

    注:-lstdc++原来不是cpprestsdk相关的库,而是因为以上库冲突报错才需要指定特定目录下面的库。

    重新构建,运行正常。

  • 相关阅读:
    【JSOI 2008】 最大数
    【Usaco2008 Dec】Patting Heads
    【AHOI 2005】 约数研究
    【HAOI2007】反素数
    BZOJ3676 APIO2014回文串(manacher+后缀自动机)
    Luogu3804 【模板】后缀自动机(后缀自动机)
    后缀自动机学习笔记
    Codeforces ECR47F Dominant Indices(线段树合并)
    BZOJ1127 POI2008KUP(悬线法)
    BZOJ4652 NOI2016循环之美(莫比乌斯反演+杜教筛)
  • 原文地址:https://www.cnblogs.com/liushui-sky/p/13392074.html
Copyright © 2011-2022 走看看