linux(window待测试) 下配置完opencv(c++)后,在vscode中提示opencv关键字

方法1. 使用cmake

推荐这方法,简单又舒适,既提示关键字,也不需要配置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的关键字提示了!
在这里插入图片描述

方法2. 使用c_cpp_properities.json

最终效果: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/**

在这里插入图片描述
接下来就可以在vscode中更加方便的写opencv代码了
在这里插入图片描述

注意:配置qt等其他库,想要在vscode中有关键字提示的方法是与上面类似的,包含相应的路径即可,这里不做赘述拉

window下与linux不太一样,后续更新

顺便记录一个小问题

关于视频读入的一点问题
如果你在使用opencv读视频时发现读入的视频一闪而过,那说明可能是缺少有关ffmpeg的动态库。

**关于window下报错

make: *** No targets specified and no makefile found. Stop.

原因:咱们是windows系统,默认不是生成makefile文件,而是MSVC的工程文件,想要makefile要指定编译器和编译选项为Unix Makefiles

输入命令修改
cmake .. -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -G "Unix Makefiles"
make -j10

ok,错误解决

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值