我有一个非常简单的测试用例应用程序,其中包含以下配置:
test.pro
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
...
PKGCONFIG = gtk+-3.0 appindicator3-0.1
CONFIG += link_pkgconfig
它编译得很好但在执行时崩溃并出现以下错误消息:
Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
The program has unexpectedly finished.
当我使用ldd
或lddtree
检查输出二进制文件时,只有gtk3依赖项但没有gtk2。那么为什么这个错误,任何想法?
test
是二进制文件,这里是lddtree输出:
$ lddtree test | grep gtk
libdbusmenu-gtk3.so.4 => /usr/lib/x86_64-linux-gnu/libdbusmenu-gtk3.so.4
libgtk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-3.so.0