首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每个Qt应用程序都在一个地方崩溃?

每个Qt应用程序都在一个地方崩溃?
EN

Stack Overflow用户
提问于 2011-07-20 12:34:14
回答 3查看 398关注 0票数 0

基本上,我尝试运行的所有Qt应用程序都会在一个地方崩溃:

代码语言:javascript
运行
复制
#0  0x0000000000000000 in ?? ()
#1  0x0000000100f4f570 in QIconvCodec::createIconv_t ()
#2  0x0000000100f5043b in QIconvCodec::convertToUnicode ()
#3  0x0000000100032c7e in QString::fromLocal8Bit ()
#4  0x0000000100e7cb89 in QSystemLocale::fallbackLocale ()
#5  0x00000001000161e0 in QLocalePrivate::updateSystemPrivate ()

我怀疑它与iconv有关,因为它在Mac上不是很“稳定”。我不知道问题出在哪里,我试着从Macports重新安装libiconv,甚至自己构建它,但我还是遇到了同样的问题。

可能是dlsyms所需的符号(可能是缺少的),然后跳转到地址,从而导致该地址(因此在回退跟踪中的0x0000000000000000 )。

可能会有什么问题?(抱歉,这里问错了)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-20 17:33:48

我遇到了同样的问题,最后构建了Qt库的调试版本,以了解发生了什么。看来,Qt库假定机器上有/usr/lib/lib卷积. there。对于我的机器来说,解决方案很简单,因为.

-s /usr/lib/libionv.2.dylib/usr/lib/libionv.dylib

票数 3
EN

Stack Overflow用户

发布于 2011-07-20 12:59:48

听起来是个合理的猜测。

您能编译一个在Mac上崩溃但在Linux或Windows上成功的测试用例吗?

当然,您可以查看源代码- Qt函数体往往很小,而且被高度考虑因素,所以应该很容易看出出了什么问题。

票数 1
EN

Stack Overflow用户

发布于 2011-07-20 13:03:17

看看你的地址,我看得出来它们是64位。也许您在32位和64位二进制文件之间存在某种类型的不兼容?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6761943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档