符号查找错误:./executableName:未定义符号:_ZN18QXmlDefaultHandlerC2Ev [英] symbol lookup error: ./executableName: undefined symbol: _ZN18QXmlDefaultHandlerC2Ev

查看:199
本文介绍了符号查找错误:./executableName:未定义符号:_ZN18QXmlDefaultHandlerC2Ev的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在为Ubuntu 12 x64编译的Linux Mint 16 x64上运行可执行文件. 可执行文件在运行时动态使用Qt 5.1.1.我收到错误消息:

I am trying to run an executable on Linux Mint 16 x64 that was compiled for Ubuntu 12 x64. The executable uses Qt 5.1.1 dynamically during runtime. I get the error:

loaded the dummy plugin 
loaded the Linux plugin 
updating server status 
./executableName: symbol lookup error: ./executableName: undefined symbol: _ZN18QXmlDefaultHandlerC2Ev

我跑步时

ldd executableName | grep "not found"

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

searching for missing dependencies I get no result; all dynamic dependencies seem to be found, but the undefined symbol error above persists.

有想法吗?

推荐答案

快速帮助:

$ echo _ZN18QXmlDefaultHandlerC2Ev|c++filt
QXmlDefaultHandler::QXmlDefaultHandler()

因此,您没有QXmlDefaultHandler的构造函数.为此,我们可以在Google上进行搜索,至少Qt-4.8和Qt-5.3包含此库.

Thus, you don't have a constructor for QXmlDefaultHandler. Googling for that we can found here, that at least Qt-4.8 and Qt-5.3 contains this library.

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

I think, there is some type of incompatibility between your actual running Qt library and between for which the executable was compiled for. My suggestion were to recompile that executable from source, but on your mint.

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

It is not impossible, that porting the source package from ubuntu will be a little bit hard for you, in this case I suggest a simple upstream source recompilation (or even binary download, if there is one).

这篇关于符号查找错误:./executableName:未定义符号:_ZN18QXmlDefaultHandlerC2Ev的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆