我正在尝试创建 QT 5.5 应用程序的 deb,该应用程序使用了 QT5 webkit 和 webkitwidgets。当我尝试使用命令“debuild -kMYGPGKEY”创建 deb 时,它给出了以下错误。
/usr/bin/ld: warning: libQt5WebChannel.so.5, needed by /home/myusername/Qt5.5.0/5.5/gcc_64/lib/libQt5WebKit.so.5.5.0, not found (try using -rpath or -rpath-link)
/home/myusername/Qt5.5.0/5.5/gcc_64/lib/libQt5WebKit.so.5.5.0: undefined reference to `QAccelerometer::QAccelerometer(QObject*)'
/home/myusername/Qt5.5.0/5.5/gcc_64/lib/libQt5WebKit.so.5.5.0: undefined reference to `QRotationReading::x() const'
还有更多这些类型的未定义引用错误。
从错误中我发现 libQt5WebKit 正在引用 libQt5WebChannel,而我的机器上找不到它。
因此,如果有人对该问题有任何想法或者知道如何在 Ubuntu 16.04 中安装 libqt5webchannel.so.5,请告诉我。
谢谢。
答案1
(遇到类似的问题https://github.com/GPUOpen-Tools/CodeXL)
解决方案 :
sudo apt 安装 libqt5webchannel5-dev
解释
好的习惯是观察https://packages.ubuntu.com/zesty/libqt5webchannel5-dev具有缺少文件/库名称的站点,并在搜索栏中将“包名称”更改为“包内容”。
答案2
构建 qt5webchannel:
git clone git://code.qt.io/qt/qtwebchannel.git
qmake-qt5
make
sudo make install
编辑:抱歉,Ubuntu16.04 失败:
不/usr/include/x86_64-linux-gnu/qt5/QtGui/QApplication
...这可能是 Debian、Ubuntu 中没有的原因qtwebchannel
:不太完整的 Qt5?