首页| 论坛| 消息
主题:交叉编译遇到的问题。
blancyang发表于 2017-04-17 20:35
我于ubuntu14将qt4.8的程序升级至qt5.6.2.
程序主要分为两部分,qt写的demo,demo依赖的库(C语言写的,不开源)。
目前去掉链接库,demo可以正常编译。但是链接上.so的库,报出以下错误,如下:
/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QWidget::x11Event(_XEvent*)'/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QWidget::enabledChange(bool)'
/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QWidget::languageChange()'/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QString::free(QString::Data*)'
/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QObject::disconnectNotify(char const*)'/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QWidget::windowActivationChange(bool)'
/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QHeaderView::dataChanged(QModelIndex const&, QModelIndex const&)'/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QWidget::styleChange(QStyle&)'
/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QHeaderView::setClickable(bool)'/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QObject::connectNotify(char const*)'
/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QMetaObject::tr(char const*, char const*) const'/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QWidget::fontChange(QFont const&)'
/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QVariant::handler'/home/vdoo/vdoo/lib/libVidyoClientDll.so: undefined reference to `QWidget::paletteChange(QPalette const&)'
对libVidyoClientDll.so执行ldd命令,结果如下
linux-vdso.so.1 =>(0x00007ffea0136000)libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007fa14b29c000)
libanl.so.1 => /lib/x86_64-linux-gnu/libanl.so.1 (0x00007fa14b098000)librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa14ae90000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa14ac8b000)libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007fa14a99b000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa14a697000)libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa14a390000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa149fcb000)libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa149db5000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa149b96000)/lib64/ld-linux-x86-64.so.2 (0x000055b1b8b30000)
库libVidyoClientDll.so不开源,在qt4.8上编译正常,不知道为什么会出现这个原因。请各位大神帮帮忙。
下一页 (1/2)
回帖(7):
7楼:blancyang:nclude ($$(VDOO)/src/vdoo.pri)
QT       += cor ..
6楼:uidab:你pro里是怎么写的? (2017-04-18 11:31) 
nclude ($$(VDOO)/src/vdoo.pri) ..
5楼:uidab:那这个要先看源码是什么样子的,其他的我暂时也想不到。 (2017-04-18 11:30) 

全部回帖(7)»