推荐这方法,简单又舒适,既提示关键字,也不需要配置c_cpp_properties.json文件,即可完成debug,opencv关键字提示等等功能,很方便
你需要写好你的CMakeLists.txt文件,下面是我的CMakeLists.txt文件,(其实是直接把opencv自带的这个文件拿出来用的,比较方便
# cmake needs this line
cmake_minimum_required(VERSION 3.1)
# Define project name
project(opencv_example_project)
# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)
# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS " config: ${OpenCV_DIR}")
message(STATUS " version: ${OpenCV_VERSION}")
message(STATUS " libraries: ${OpenCV_LIBS}")
message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
# Declare the executable target built from your sources
add_executable(opencv_example main.cpp)
# Link your application with OpenCV libraries
target_link_libraries(opencv_example PRIVATE ${OpenCV_LIBS})
这个文件写好之后如果vscode没有提示可以重启vscode,哦对了,必要的vscode插件要提前安装好,重启vscode后,如果插件没有安装好(哪些插件是必要的我没测试,cmake, cmaketools应该要装得),可能不会弹出下面图中右下角的小界面,
点击yes之后界面上方出现select a kit, 我这里选的最下面那个,然后完成了,如果他没有自动生成build目录,那你需要点就最下面蓝条中的build生成一下,运行和调试的话就点击下面的蓝条中的运行与debug就行拉,好了,大功告成拉!
现在已经有opencv的关键字提示了!
最终效果:vscode中可以提示opencv关键字,但是编译运行的话还是需要写cmakelists.txt文件,所以并不建议这个方法
首先如下图,我们打开vscode, 键盘输入ctrl+shift+p, 可以出现搜索栏,输入c/c++, 在他给出的选择中选择添加Edit Configurations(Json), 图中我显示的是已经添加好了这个文件。
接下来我们已经进入了我们刚才添加的文件,也就是vscode左侧界面显示的当前目录下.vscode文件夹下的c_cpp_properties.json 文件。
进入那个文件后,我们看第二张图片,这张图片我只在他之前生成的基础上添加了一个行,也就是有注释的那一行,那一行的目录我是使用的生成的软连接,接下来说明这个软连接是如何产生的。
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/home/sunquanlin/opencv4/**" //这里加一句opencv库的软连接目录
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
这里我编译opencv之后,目录是在/usr/local/include/opencv4,我们产生一个软连接,我这里软连接产生的目录是/home/sunquanlin/opencv4, 接下来就可以在home目录下看到产生的软连接了
注意:使用的是绝对路径,如果不知道绝对路径,那么你在该目录下打开终端,输入pwd回车,输出就是这个目录的绝对路径了
sudo ln -s /usr/local/include/opencv4 /home/sunquanlin/opencv4
如图,有opencv4的软连接,现在我们就已经有了我们所需要的目录,在最后添加三个字符,就是这样个子,接下来我们只需要把修改后的目录加到我们刚才的json文件中就行辣,
注意:如果不知道自己的目录,只要在你想知道路径的目录下打开终端,输入pwd回车就可以显示这里的目录
/home/sunquanlin/opencv4/**
注意:配置qt等其他库,想要在vscode中有关键字提示的方法是与上面类似的,包含相应的路径即可,这里不做赘述拉
关于视频读入的一点问题
如果你在使用opencv读视频时发现读入的视频一闪而过,那说明可能是缺少有关ffmpeg的动态库。