【发布时间】:2018-03-04 16:45:39
【问题描述】:
我正在开发 Ubuntu 16.04。在成功安装 OpenCV 后,我正在尝试 make darknet。我已经成功安装了支持 CUDA 的暗网,但我现在正尝试使用 OpenCV 为其赋能,在其 makefile 中设置OPENCV=1,如the official page () 所示。
这是我从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 来解决这个问题,正如this 答案所建议的那样,将以下行添加到我的.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 成功更新了内容。结果是一样的。
我添加到路径中的文件夹是否可能不正确?还有什么可能是导致此问题的原因?
【问题讨论】:
标签: opencv qt5 ubuntu-16.04 darknet