我正在尝试将我的应用程序部署为可以在任何 Linux 机器上运行的独立应用程序。我已经在 Qt Creator 下构建了我的应用程序,并成功地静态链接了我的应用程序。但是,当我在另一台 Linux 机器上测试该应用程序时,出现以下错误:
libstdc++.so.6: version 'GLIBCXX_3.4.21' not found (required by ./Executable)
我不确定如何解决这个错误。
最佳答案
这是我自己犯的错误,但在另一个上下文中。 这意味着:libstdc++.so.6(一个共享目标文件,c++程序的标准库,许多程序可以一起使用(共享))是另一个版本,然后你编译的程序需要。
我在从 gcc-4.8 切换到 gcc-5 时遇到了这个问题。
您在编译和执行时是否使用过不同的 linux 发行版? (Ubuntu?)
您必须确保版本匹配,或者将使用的 libstdc++ 静态编译到您的二进制文件中。
这是与此类问题相关的 SO 问题。 GLIBCXX versions
关于Linux - 运行可执行文件错误(未找到 GLIBCXX_3.4.21),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38446439/