0

我正在开发 Ubuntu 16.04。成功安装 OpenCV 后,我正在尝试make 暗网。我已经成功安装了支持 CUDA 的暗网,但我现在正尝试使用 OpenCV 为其授权,并按照官方页面()中的OPENCV=1说明在其 makefile 中进行设置。

这是我从中获得的输出的(摘录)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 库。我试图通过将 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 PATH和成功更新echo LD_LIBRARY_PATH。结果是一样的。

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

4

2 回答 2

0

该问题与 OpenCV 的安装有关。我按照详细的安装说明提取了最新版本opencvopencv-contrib从头开始重建它们。在那之后,我可以成功地暗网。make

于 2018-04-16T08:15:08.547 回答
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但它没有链接......所以将它添加到路径中对我有用。总帐

于 2019-07-16T20:44:14.390 回答