linux – 符号查找错误:./ executableName:未定义符号:_ZN18QXmlDefaultHandlerC2Ev

我试图在 Linux Mint 16 x64上运行一个可执行文件,它是为Ubuntu 12 x64编译的.
可执行文件在运行时动态使用Qt 5.1.1.我收到错误
loaded the dummy plugin 
loaded the Linux plugin 
updating server status 
./executableName: symbol lookup error: ./executableName: undefined symbol: _ZN18QXmlDefaultHandlerC2Ev

当我跑

ldd executableName | grep "not found"

搜索缺少的依赖项我没有得到结果;似乎找到了所有动态依赖项,但上面的未定义符号错误仍然存​​在.

思考?

解决方法

快速帮助:
$echo _ZN18QXmlDefaultHandlerC2Ev|c++filt
QXmlDefaultHandler::QXmlDefaultHandler()

因此,您没有QXmlDefaultHandler的构造函数.谷歌搜索我们可以在这里找到,至少Qt-4.8和Qt-5.3包含这个库.

我认为,实际运行的Qt库与编译可执行文件的库之间存在某种类型的不兼容性.我的建议是从源代码重新编译该可执行文件,但是在你的薄荷上.

从ubuntu移植源包对你来说有点困难并非不可能,在这种情况下我建议一个简单的上游源重新编译(甚至是二进制下载,如果有的话).

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...