【问题标题】:Issues with Qt trying to make Darknet with OpenCV supportQt 尝试使用 OpenCV 支持制作 Darknet 的问题
【发布时间】: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 PATHecho LD_LIBRARY_PATH 成功更新了内容。结果是一样的。

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

【问题讨论】:

    标签: opencv qt5 ubuntu-16.04 darknet


    【解决方案1】:

    问题与 OpenCV 的安装有关。我提取了最新版本的opencvopencv-contrib 并从头开始重建它们,详细遵循installation instructions。之后就可以成功makedarknet了。

    【讨论】:

      【解决方案2】:

      我刚刚解决了这个问题。

      试试这个:

      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 中,但它没有链接......所以将它添加到路径中对我有用。总账

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-24
        相关资源
        最近更新 更多