Qt尝试使用OpenCV支持Darknet的问题

时间:2018-03-04 16:45:39

标签: opencv qt5 ubuntu-16.04 darknet

我正在研究Ubuntu 16.04。我在成功安装OpenCV后尝试make darknet。我已经成功安装了带有CUDA支持的darknet,但我现在正尝试使用OpenCV授权它,在the official page()中指示的makefile中设置OPENCV=1

这是我从make获得的输出(摘录):

[...]
/usr/local/lib/libopencv_highgui.so: undefined reference to `QWidget::isFullScreen() const@Qt_5'
/usr/local/lib/libopencv_highgui.so: undefined reference to `QWidget::hasHeightForWidth() const@Qt_5'
/usr/local/lib/libopencv_highgui.so: undefined reference to `QPen::QPen(QBrush const&, double, Qt::PenStyle, Qt::PenCapStyle, Qt::PenJoinStyle)@Qt_5'
/usr/local/lib/libopencv_highgui.so: undefined reference to `QStatusBar::showMessage(QString const&, int)@Qt_5'
[...]

如果我尝试构建一些测试项目来验证OpenCV的正确运行,我会得到类似的结果。所以我认为问题在于围绕OpenCV的一些联系。

似乎make在其路径中看不到Qt库。我尝试通过this回答的建议将Qt5的库文件夹添加到PATH和LD_LIBRARY_PATH来修复此问题,并将以下行添加到我的.profile文件中:

export  LD_LIBRARY_PATH=/usr/include/x86_64-linux-gnu/qt5:$LD_LIBRARY_PATH
export  PATH=/usr/include/x86_64-linux-gnu/qt5:$PATH

然后运行source .profile并确保使用echo PATHecho LD_LIBRARY_PATH成功更新了内容。结果是一样的。

我添加到路径的文件夹是否可能不正确?还有什么可能是造成这个问题的原因?

2 个答案:

答案 0 :(得分:0)

问题与OpenCV的安装有关。我提取了opencvopencv-contrib的最新版本,并从头开始重新构建installation instructions详细信息。在那之后,我可以成功地make暗网。

答案 1 :(得分:0)

我已经解决了这个问题。

尝试一下:

  1. 编辑~/.bashrc并添加export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
  2. 保存文件
  3. source ~/.bashrc

我认为这是因为我的qt的默认安装位于文件夹/usr/lib/x86_64-linux-gnu中,但未链接...因此将其添加到路径对我而言有效。 GL