在Linux上进行OpenCV静态编译的详细步骤
准备工作
1、拉取OpenCV源码:
访问GitHub并下载OpenCV源代码,可以使用git clone https://github.com/opencv/opencv.git
命令来获取最新的代码库。
2、安装依赖项:
确保系统已安装CMake和必要的编译工具,可以通过包管理器安装,例如在Debian或Ubuntu系统上使用sudo apt-get install build-essential cmake
。
创建编译脚本
1、创建构建目录:
进入OpenCV源码目录,在其中创建一个用于构建的目录,如build_linux
。
使用cd platforms/linux && mkdir build_linux && cd build_linux
命令。
2、编写CMake编译脚本:
在build_linux
目录下创建一个名为build_linux.sh
的脚本文件,并编辑它。
添加以下内容到build_linux.sh
文件中:
```bash
#!/bin/bash
BUILD_TYPE='Release'
rm -rf build_linux
mkdir build_linux
cd build_linux
cmake ../../../
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
-DBUILD_SHARED_LIBS=OFF
-DBUILD_opencv_world=ON
# 根据需要关闭其他模块
-DBUILD_opencv_python2=OFF
-DBUILD_opencv_python3=OFF
-DBUILD_opencv_java=OFF
-DBUILD_JAVA=OFF
-DWITH_OPENCL=OFF
-DWITH_IPP=OFF
-DWITH_TBB=OFF
-DBUILD_EXAMPLES=OFF
-DBUILD_TESTS=OFF
-DBUILD_PERF_TESTS=OFF
-DBUILD_DOCS=OFF
make -j8
```
此脚本配置了CMake以编译静态库而非共享库,并且集中所有库到一个opencv_world
中。
执行编译脚本
1、赋予脚本执行权限:
运行chmod +x build_linux.sh
命令,使脚本可执行。
2、执行编译:
运行./build_linux.sh
开始编译过程,这将在当前目录下生成所需的静态库。
链接和测试静态库
1、创建测试项目:
新建一个目录用于存放测试工程,并在其中创建一个简单的CMakeLists.txt文件和一个测试用的C++源文件(如test.cpp)。
2、配置CMakeLists.txt:
在CMakeLists.txt中,包含必要的头文件目录,并链接到OpenCV的静态库,示例如下:
```cmake
cmake_minimum_required(VERSION 3.10)
project(OpenCVTest)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib)
add_executable(test test.cpp)
target_link_libraries(test opencv_world)
```
确保所有需要的第三方库也被正确链接。
3、编译并测试:
在测试项目目录中运行cmake .
和make
命令来编译和链接你的测试程序,如果一切设置正确,你应该能够成功编译并运行一个使用OpenCV静态库的程序。
通过以上步骤,你应该能够在Linux环境下成功编译OpenCV的静态库,并在自己的项目中使用这些库,注意,根据具体需求调整编译选项和链接设置。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/62677.html