c++ opencv 编译链接
时间: 2023-10-11 13:12:51 浏览: 226
编译和链接 C++ OpenCV 项目通常有两种方式,一种是使用 CMakeLists.txt 文件进行编译,另一种是使用 makefile 文件进行编译。
使用 CMake 进行编译链接的步骤如下:
1. 在项目根目录下创建一个 CMakeLists.txt 文件,并添加必要的配置:
```
cmake_minimum_required(VERSION 3.12)
project(your_project_name)
set(CMAKE_CXX_STANDARD 11)
# 设置 OpenCV 路径
set(OpenCV_DIR /path/to/opencv)
# 寻找 OpenCV 库
find_package(OpenCV REQUIRED)
# 添加头文件路径
include_directories(${OpenCV_INCLUDE_DIRS})
# 添加源文件
add_executable(your_executable_name main.cpp)
# 链接 OpenCV 库
target_link_libraries(your_executable_name ${OpenCV_LIBS})
```
2. 在项目的 source 目录下创建一个 CMakeLists.txt 文件,并添加需要编译的源文件:
```
add_library(your_library_name SHARED your_source_files.cpp)
```
3. 创建一个 build 目录,在终端中进入该目录:
```
mkdir build
cd build
```
4. 运行 CMake 生成 Makefile:
```
cmake ..
```
5. 使用 make 命令进行编译链接:
```
make
```
6. 最终会在 build/source/lib 目录下生成一个 libyour_library_name.so 的动态库,这就是可供他人调用的动态库。
使用 makefile 进行编译链接的步骤如下:
1. 在项目根目录下创建一个 makefile 文件,并添加必要的配置:
```
CXX = g++
CXXFLAGS = -Wall -std=c++11
LDFLAGS = -L/path/to/opencv/libs
LDLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
your_executable_name: main.o
$(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS)
main.o: main.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $^
```
2. 在项目的 include 目录下放置项目的头文件。
3. 在项目的 source 目录下放置项目的源文件。
4. 在终端中进入项目根目录,并运行命令 make。
5. 最终会在项目根目录生成一个名为 your_executable_name 的可执行文件。
阅读全文