You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu14.04下静态编译Qt4.8.5并让OpenCV2.4.13识别的方法

解决OpenCV CMake无法识别静态编译Qt4的问题

嘿,我太懂这种头疼的情况了——你明明把Qt4静态编译安装好了,结果终端和OpenCV的CMake就是找不到qmake,本质就是系统PATH没包含Qt4的bin目录,而且CMake也不知道去哪找你的自定义安装路径。下面给你一步步解决:

一、先让终端能认出qmake(临时/永久两种方式)

临时生效(只在当前终端窗口有用)

直接把Qt4的bin目录加到当前环境的PATH里:

export PATH=/usr/local/qt4-static/bin:$PATH

现在再敲qmake -query,应该就能正常输出Qt的配置信息了。

永久生效(所有终端会话都能用)

编辑你的~/.bashrc配置文件:

nano ~/.bashrc

在文件末尾添上这一行:

export PATH=/usr/local/qt4-static/bin:$PATH

保存退出后,执行下面的命令让配置立刻生效:

source ~/.bashrc

二、让OpenCV的CMake精准定位到你的Qt4

这里有两种靠谱的方法,选一个顺手的就行:

方法1:用环境变量给CMake指路

在运行OpenCV的CMake命令前,先设置QMAKE_EXECUTABLE变量,直接告诉CMakeqmake在哪:

export QMAKE_EXECUTABLE=/usr/local/qt4-static/bin/qmake

然后再正常执行你原来的OpenCV CMake配置命令就行。

方法2:在CMake命令里直接指定参数

如果不想折腾环境变量,直接在CMake命令里加个参数,明确指定qmake的路径:

cd opencv-2.4.13/build
cmake -DQT_QMAKE_EXECUTABLE=/usr/local/qt4-static/bin/qmake \
      -DWITH_QT=ON \
      # 这里加上你原本要用的其他CMake参数,比如CMAKE_INSTALL_PREFIX之类的
      ..

这样CMake一启动就知道去哪找Qt4,自然能正确识别QtCore、QtGui这些模块了。

三、额外的检查小细节

  1. 确认Qt4静态编译时生成了完整的配置文件:
    去/usr/local/qt4-static/lib/cmake/Qt4目录看看,有没有Qt4Config.cmake这类文件。如果没有,可能是你编译Qt4时的参数有问题。重新编译的话,建议用下面的配置命令:

    cd qt-everywhere-opensource-src-4.8.5
    ./configure -prefix /usr/local/qt4-static -static -release -opensource -nomake examples -nomake demos
    make -j$(nproc)  # 用所有核心编译,速度更快
    sudo make install
    

    确保编译过程没报错,安装完成后上述目录的配置文件肯定会有。

  2. 别忘了给OpenCV开启Qt支持:
    CMake参数里一定要加-DWITH_QT=ON,不然OpenCV根本不会去查找Qt相关的库哦。

按照上面的步骤操作,OpenCV的CMake肯定能顺利识别到你静态编译的Qt4了!

内容的提问来源于stack exchange,提问作者ameya.dubey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:29:22