2016-05-13 46 views
0

我移植我的应用程序从QT 4.8.0至5.5.1 QT它 编译没有任何错误,但在运行时,应用程序崩溃,看到消息未定义的符号:_Zn9Qwidget11stylechangeER6QStyle在我的一个.so文件中动态链接。(LINUX)从Qt4的移植到QT5未定义的符号:_Zn9Qwidget11stylechangeER6QStyle

当在整个项目源代码中搜索时找不到任何函数styleChange()。

已清理项目,删除所有中间文件,所有目标文件,.so文件但结果相同。 它似乎是一个qt4.8.0函数,但无法找到,因此无法调试。

任何帮助,将不胜感激。

+0

你能检查未定义符号的名称吗? 'C++ filt _Zn9Qwidget11stylechangeER6QStyle'不会生成demangled.name。 –

回答

0

当在整个项目源代码中搜索时找不到任何函数styleChange()。

请注意,在损坏的名称'c'中使用小写字母:stylechange。您是否尝试过搜索此方法?

+0

另外“Qwidget”看起来不对。 –

+0

看起来像一些自制类的Qt顶部,可能是QWidget本身。当然这可能是错误的印象。 – bipll