我正在研究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 PATH
和echo LD_LIBRARY_PATH
成功更新了内容。结果是一样的。
我添加到路径的文件夹是否可能不正确?还有什么可能是造成这个问题的原因?
答案 0 :(得分:0)
问题与OpenCV的安装有关。我提取了opencv
和opencv-contrib
的最新版本,并从头开始重新构建installation instructions详细信息。在那之后,我可以成功地make
暗网。
答案 1 :(得分:0)
我已经解决了这个问题。
尝试一下:
~/.bashrc
并添加export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
source ~/.bashrc
我认为这是因为我的qt的默认安装位于文件夹/usr/lib/x86_64-linux-gnu
中,但未链接...因此将其添加到路径对我而言有效。 GL