Ubuntu系统上对vscode的opencv库以及zbar库的配置
这是笔者的第一篇博客,记录自己在技术学习路上的点点滴滴。
首先,笔者使用的系统是Ubuntu 20.04.2 LTS,安装在我电脑上的VMware上面的。
笔者在之前配置好了Ubuntu的vscode的opencv的环境
下面讲zbar的下载
zbar下载,
sudo wget https://linuxtv.org/downloads/zbar/zbar-0.23.90.tar.gz
解压
tar -vxzf 压缩文件名
进入解压后的文件目录,执行
sudo make install
完成之后执行zbarimg,如果安装成功,会提示你可以输入哪些选项,如果安装失败,就会提示找不到命令。
安装成功之后,进入vscode的task.json以及c_cpp_properties.json将zbar库添加进去。
在编译过程中,及其关键的是task.json中arg中的参数,其相当于传给g++的命令,在其中,我们要加入我们的zbar库以及opencv库,同时还要链接我们的库文件(libxxx.so)格式的文件。
关于具体要添加哪些文档,可以去/usr/local/lib目录下去搜索“.so”格式的文件,找到的全部以“-l”的形式添加进去就行,记得去除前面的lib和后面的.so,只需要中间的名字。
具体方法是
"args": [
"-g",
"-std=c++11",
"${file}",
"-o",
"${fileBasenameNoExtension}.out",
"-I", "/usr/local/include/opencv4/opencv2",
"-I", "/usr/local/include/opencv4",
"-I", "/usr/local/include/zbar",
"-I", "/usr/local/include",
"-I", "/home/zy/zbar/zbar-0.23.90/include/zbar",
"-I", "/home/zy/zbar/zbar-0.23.90/include",
"-I", "/ysr/local/include",
"-L", "/usr/local/lib",
"-l", "opencv_core",//link .so file
"-l", "opencv_imgproc",
"-l", "opencv_imgcodecs",
"-l", "opencv_video",
"-l", "opencv_ml",
"-l", "opencv_highgui",
"-l", "opencv_objdetect",
"-l", "opencv_flann",
"-l", "opencv_imgcodecs",
"-l", "opencv_photo",
"-l", "opencv_videoio",
"-l", "zbar",
"-l", "zbargtk"
],
上面这个各种发送给编译器的命令是生成可执行文档的必要条件,如果程序报错说可执行文件没有列出来,那就是task的配置出错了。
上面说了zbar的配置,关于opencv库的配置,可以参考这篇博客进行配置,但是其中存在一些不对的地方,原因在于最新的opencv库的库文件名字改了,因此笔者把对应的tasks.json完整的贴出来,希望能帮到你
task.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"-std=c++11",
"${file}",
"-o",
"${fileBasenameNoExtension}.out",
"-I", "/usr/local/include/opencv4/opencv2",
"-I", "/usr/local/include/opencv4",
"-I", "/usr/local/include/zbar",
"-I", "/usr/local/include",
"-I", "/home/zy/zbar/zbar-0.23.90/include/zbar",
"-I", "/home/zy/zbar/zbar-0.23.90/include",
"-I", "/ysr/local/include",
"-L", "/usr/local/lib",
"-l", "opencv_core",//link .so file
"-l", "opencv_imgproc",
"-l", "opencv_imgcodecs",
"-l", "opencv_video",
"-l", "opencv_ml",
"-l", "opencv_highgui",
"-l", "opencv_objdetect",
"-l", "opencv_flann",
"-l", "opencv_imgcodecs",
"-l", "opencv_photo",
"-l", "opencv_videoio",
"-l", "zbar",
"-l", "zbargtk"
],
"problemMatcher":{
"owner": "cpp",
"fileLocation":[
"relative",
"${workspaceFolder}"
],
"pattern":[
{
"regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
"file": 1,
"location": 2,
"message": 3
}
]
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
如果你也刚好要使用zbar库,那么上面的配置文件就不需要任何修改了。如果你不需要使用到,也不需要进行删除。
如果有其它疑问,可以私信进行咨询。