ArchLinux配置OpenCV C++环境
本文将简单介绍在 ArchLinux 中安装 OpenCV C++ 库并运行一个简单的 OpenCV 程序的过程。
参考:https://github.com/donaldssh/Install-OpenCV
我的环境
- 最新的 ArchLinux
- KDE Plasma 6 桌面环境
- OpenCV 4.10.0
- clang 18.1.8
- gcc 14.2.1
安装
安装以下包:
sudo pacman -S hdf5 vtk glew base-devel pkg-config opencv opencv-samples
安装以下 AUR 包:
paru -S gtkglext
检查 OpenCV 的版本,从而确保它被正确安装了:
pkg-config --modversion opencv4
这会给出 OpenCV 的版本。在我撰写本文时是 4.10.0。
然后将 /usr/lib/pkgconfig
追加到 PKG_CONFIG_PATH
环境变量的末尾。对于 bash 来说,应当添加以下行:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig
对于 fish 来说,应当添加以下行:
set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig
在 /etc/ld.so.conf.d/
目录中新建一个 opencv4.conf
文件,在其中写入以下行:
/usr/include/opencv4
然后执行
sudo ldconfig -v
来生成链接。
编写测试代码
新建一个 main.cpp
,填入以下代码:
#include <opencv2/opencv.hpp> using namespace cv; int main() { const auto img = imread("/usr/share/opencv4/samples/data/lena.jpg"); imshow("lena", img); waitKey(0); return 0; }
使用 Makefile
在 main.cpp
同级目录下新建一个 Makefile
文件,填入以下内容:
CFLAGS = `pkg-config --cflags opencv4` LIBS = `pkg-config --libs opencv4` % : %.cpp g++ $(CFLAGS) $(LIBS) -o $@ $<
然后执行
make main
将在当前目录下生成一个 main
可执行文件,运行则可得到:
按下任意键来关闭此窗口。
使用 CMake
在 main.cpp
同级目录下新建一个 CMakeLists.txt
文件,填入以下内容:
cmake_minimum_required(VERSION 3.29) project(OpenCVTest) set(CMAKE_CXX_STANDARD 20) # find required opencv find_package(OpenCV REQUIRED) # directory of opencv headers include_directories(${OpenCV_INCLUDE_DIRS}) # name of executable file and path of source file add_executable(OpenCVTest main.cpp) # directory of opencv library link_directories(${OpenCV_LIBRARY_DIRS}) # opencv libraries target_link_libraries(OpenCVTest ${OpenCV_LIBS})
然后执行
cmake .
完毕后执行
cmake --build .
将在当前目录生成一个 OpenCVTest
可执行文件。运行之,得到与上节相同的效果。
提示
如果在编译过程中提示某个库文件缺失,可以尝试使用
pacman -F [文件名]
来查找提供该文件的软件包并安装之。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2022-08-20 在Kubuntu 22.04上查看HEIF图像