程序安装包在ubuntu安装教程,以opencv安装为例
在 Ubuntu 中安装 OpenCV 3.4.3 需要经过 依赖安装、源码编译、环境配置 三个主要步骤,以下是详细操作:
一、安装依赖库(必做)
OpenCV 编译需要依赖多个系统库,打开终端执行以下命令安装:
# 更新软件源
sudo apt update# 安装基础编译工具
sudo apt install -y build-essential cmake git# 安装图像/视频处理依赖
sudo apt install -y libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev# 安装图像格式支持库
sudo apt install -y libjpeg-dev libpng-dev libtiff-dev libjasper-dev# 安装优化库(可选,提升性能)
sudo apt install -y libtbb-dev libeigen3-dev
注意:如果安装 libjasper-dev 时提示 “找不到包”(常见于 Ubuntu 18.04+),执行以下命令修复:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update && sudo apt install -y libjasper-dev
二、编译安装 OpenCV 3.4.3
假设你已将 opencv-3.4.3.zip 下载到 ~/Downloads 目录(请根据实际路径修改):
为什么要在 build 目录内执行?cmake 命令的最后一个参数 .. 表示 “引用上一级目录”(即 OpenCV 源码根目录,因为 build 是源码根目录的子文件夹)。这样做的目的是将编译过程中生成的临时文件(如 Makefile、目标文件等)都放在 build 目录内,避免污染源码根目录,后续删除 build 文件夹即可清理编译痕迹,非常方便。
简单说:build 目录是 “编译工作区”,cmake 命令必须在这个工作区内执行,才能正确找到源码并生成编译文件。
解压源码包
# 进入下载目录 cd ~/Downloads# 解压(如果是 tar.gz 包,用 tar -zxvf opencv-3.4.3.tar.gz) unzip opencv-3.4.3.zip# 进入解压后的目录 cd opencv-3.4.3创建编译目录并配置 CMake
推荐在源码目录外单独创建build文件夹,避免污染源码:cmake命令需要在你创建的build目录内执行,具体位置如下:
先进入 OpenCV 源码根目录(即你解压后的opencv-3.4.3文件夹,里面包含CMakeLists.txt和cmake子文件夹)。
在该目录下创建build文件夹(如果还没创建):-
cd build - 然后在
build目录内执行你提到的cmake命令:cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D WITH_GTK=ON \-D WITH_FFMPEG=ON \-D BUILD_EXAMPLES=ON .. - 配置成功后,终端会显示
Configuring done和Generating done(若报错,检查依赖是否安装完整)
- 配置成功后,终端会显示
# 创建 build 目录并进入 mkdir build && cd build# 配置 CMake(核心步骤) cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \ # 安装路径(默认即可)-D WITH_GTK=ON \ # 启用 GTK 图形支持-D WITH_FFMPEG=ON \ # 启用 FFmpeg 视频支持-D BUILD_EXAMPLES=ON .. # 编译示例程序(可选)编译源码用多线程加速编译(
-j4表示 4 线程,根据 CPU 核心数调整,如 8 核可用-j8):make -j4- 编译过程可能需要 10-30 分钟,取决于电脑性能,耐心等待(若中途报错,检查依赖或重新配置 CMake)。
安装到系统编译完成后,执行以下命令安装(需要管理员权限):
sudo make install
三、配置环境变量(关键)
安装后需让系统识别 OpenCV 的库文件和头文件,否则编译程序时会提示 “找不到库”。
配置动态链接库
# 打开系统库配置文件 sudo gedit /etc/ld.so.conf.d/opencv.conf# 在文件中添加以下内容(指定 OpenCV 库路径) /usr/local/lib# 保存文件后,更新动态链接库缓存 sudo ldconfig配置 pkg-config 路径让编译器能通过
pkg-config找到 OpenCV 的头文件和库:# 打开 bash 配置文件 sudo gedit /etc/bash.bashrc# 在文件末尾添加以下两行 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib# 使配置生效 source /etc/bash.bashrc
四、验证安装是否成功
检查版本执行以下命令,若输出
3.4.3则说明安装成功:pkg-config --modversion opencv运行示例程序编译时若开启了
BUILD_EXAMPLES=ON,可运行示例验证:# 进入示例程序目录(在 build 目录下) cd ~/Downloads/opencv-3.4.3/build/bin# 运行图像显示示例(需准备一张测试图片,如 test.jpg 放在当前目录) ./opencv_example test.jpg- 若成功弹出窗口显示图片,说明 OpenCV 功能正常。
常见问题解决
- 编译报错 “缺少某个库”:重新安装对应的依赖(根据报错信息搜索库名)。
- 运行程序提示 “无法打开共享对象文件”:执行
sudo ldconfig更新动态链接库。 pkg-config找不到 opencv:检查/usr/local/lib/pkgconfig目录下是否有opencv.pc文件,若没有,重新执行sudo make install。
按以上步骤操作,即可在 Ubuntu 中完成 OpenCV 3.4.3 的安装并正常使用。
