Qt 尝试使用 OpenCV 支持制作 Darknet 的问题
Issues with Qt trying to make Darknet with OpenCV support
我正在开发 Ubuntu 16.04。我正在尝试 make
darknet after having successfully installed OpenCV. I have already successfully installed darknet with CUDA support, but I am now trying to empower it with OpenCV, setting OPENCV=1
in its makefile as indicated in 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 的安装有关。我提取了最新版本的 opencv
和 opencv-contrib
并从头开始重建它们,详细遵循 installation instructions。之后就可以成功make
暗网了
我刚刚解决了这个问题。
试试这个:
- 编辑
~/.bashrc
并添加 export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
- 保存文件
source ~/.bashrc
我认为这是因为我的 qt 默认安装在文件夹 /usr/lib/x86_64-linux-gnu
中,但它没有链接...所以将它添加到路径对我有用。 GL
我正在开发 Ubuntu 16.04。我正在尝试 make
darknet after having successfully installed OpenCV. I have already successfully installed darknet with CUDA support, but I am now trying to empower it with OpenCV, setting OPENCV=1
in its makefile as indicated in 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 的安装有关。我提取了最新版本的 opencv
和 opencv-contrib
并从头开始重建它们,详细遵循 installation instructions。之后就可以成功make
暗网了
我刚刚解决了这个问题。
试试这个:
- 编辑
~/.bashrc
并添加export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
- 保存文件
source ~/.bashrc
我认为这是因为我的 qt 默认安装在文件夹 /usr/lib/x86_64-linux-gnu
中,但它没有链接...所以将它添加到路径对我有用。 GL