把opencv的include放到makefile里面
时间: 2023-07-04 11:31:01 浏览: 74
你可以将OpenCV的头文件路径添加到`CFLAGS`变量中,以便编译器能够找到OpenCV的头文件。假设你的OpenCV头文件在`/usr/local/include`目录下,你可以将`CFLAGS`变量修改为:
```
CFLAGS=-c -Wall -I/usr/local/include
```
这样编译时就会自动添加OpenCV的头文件路径。完整的Makefile示例:
```makefile
CC=g++
CFLAGS=-c -Wall -I/usr/local/include
LDFLAGS=-L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc
SOURCES=main.cpp chitgpt.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=chitgpt
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -rf *o $(EXECUTABLE)
```
这样编译时就会自动添加OpenCV的头文件路径。
相关问题
opencv3.4.1的dll和lib怎么使用
OpenCV 3.4.1是一个流行的计算机视觉库,它提供了一系列的函数用于图像处理、机器学习和实时视频分析等任务。要使用OpenCV 3.4.1的DLL (动态链接库) 和 lib (静态库),你需要按照以下步骤操作:
1. **安装**:
- 对于DLL文件(如`opencv_world341.dll`),通常在Windows上,将其复制到项目的bin目录或者系统路径下的某个位置,以便程序能找到并加载它。
- 对于Linux/Mac用户,需要下载对应的`.so`或`.dylib`库,并放入`LD_LIBRARY_PATH`指定的库路径下。
2. **链接库**:
- Windows项目:在工程设置里添加`opencv_world341.lib`作为依赖项,如果是C++项目,还需要包含`#pragma comment(lib, "opencv_world341.lib")`在头文件中。
- Linux项目:在Makefile或CMakeLists.txt文件中,使用`find_package(OpenCV REQUIRED)`找到库,并在链接阶段加入`-lopencv_core`等选项。
3. **引用头文件**:
- 在C++代码中引入OpenCV相关的头文件,例如`#include <opencv2/core.hpp>`。
4. **编写代码**:
编写函数或类,使用OpenCV提供的API进行图像处理和分析,比如读取图片、进行特征检测、显示结果等。
```cpp
#include <opencv2/opencv.hpp>
cv::Mat img = cv::imread("image.jpg");
cv::imshow("Image", img);
cv::waitKey();
```
阅读全文