Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. _GLIBCXX_USE_CXX11_ABI - how to use the old ABI on Qt 5.6 and Ubuntu 16.04 ?
Forum Updated to NodeBB v4.3 + New Features

_GLIBCXX_USE_CXX11_ABI - how to use the old ABI on Qt 5.6 and Ubuntu 16.04 ?

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
2 Posts 2 Posters 1.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    andrewhaighcell
    wrote on last edited by
    #1

    Hi,
    I am using Qt 5.6 on Ubuntu 16.04, and I am finding that I cannot call functions in third-party libraries relying on C++11 implementations of std::string, I believe because of ABI changes in GCC 5.4. I would like to compile my application with the older ABI format by including the relevant GCC macro _GLIBCXX_USE_CXX11_ABI, but it appears that if I try, I still get the new ABI used...

    Can anyone help?

    kshegunovK 1 Reply Last reply
    0
    • A andrewhaighcell

      Hi,
      I am using Qt 5.6 on Ubuntu 16.04, and I am finding that I cannot call functions in third-party libraries relying on C++11 implementations of std::string, I believe because of ABI changes in GCC 5.4. I would like to compile my application with the older ABI format by including the relevant GCC macro _GLIBCXX_USE_CXX11_ABI, but it appears that if I try, I still get the new ABI used...

      Can anyone help?

      kshegunovK Offline
      kshegunovK Offline
      kshegunov
      Moderators
      wrote on last edited by
      #2

      @andrewhaighcell said in _GLIBCXX_USE_CXX11_ABI - how to use the old ABI on Qt 5.6 and Ubuntu 16.04 ?:

      I'm pretty sure you're out of luck. ABI between compiled template instantiations isn't guaranteed (that's why there's a fat warning in Qt's docs not to derive from the containers), and the ABI will depend on the compiler. Since the STL is surprise, surprise(!) a template library, the only way I see you'd get the old binary interface is if you use the old compiler.

      PS.
      Such problems (as well as binary sizes) will get more and more evident as the STL gets plumper and plumper.

      Kind regards.

      Read and abide by the Qt Code of Conduct

      1 Reply Last reply
      1

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved