VScode没有第三方库的代码提示以及VScode配置pcl和opencv库

1 篇文章 0 订阅
1 篇文章 0 订阅

问题描述

我遇到的问题,之前也在CSDN上提问过,结果全是ChatGPT回答,其实我要是能靠ChatGPT解决问题我还在这找人解决干嘛,大伙说对吧。。。

这是问题描述:

在编译第三方库pcl和opencv的代码时,已经可以正常编译了,但是就是没有这两个库的代码提示,c++的代码提示倒是有,一涉及到pcl和opencv的代码提示就没有。
大致是这样:

问题解决目标

也就是要有代码提示吗

大致就是下图所示

我的解决方案

解决方案倒是很简单,删除你c_cpp_properties.json下includePATH中的

"/usr/include/x86_64-linux-gnu/sys"

就行了。

我的VScode同时配置opencv与pcl的方案

大家参考参考就行了,写这么细化的操作只是为了方便新手,毕竟入门没人带是痛苦的,别问我这么知道的。

在VScode中,先随便打开一个c++文件,Ctrl+Shift+p打开搜索框,搜索Tasks:Configure Default Build Task,选择下图所示的g++生成活动文件:

在args的后面接着添加

                "-I", "${workspaceFolder}/include",   

                "-I", "$/usr/local/include/opencv4", //记得换成自己的路径
                "-I", "$/usr/local/include/opencv4/opencv2",  //记得换成自己的路径

                "-I","/usr/include/pcl-1.14",//记得换成自己的路径
                "-I","/usr/include/eigen3",//记得换成自己的路径
                "-I","/usr/local/include/vtk-9.3",//记得换成自己的路径
                "-I","/usr/include/libqhull",
                "-I","/usr/include/flann",
                "-I","/usr/include/boost",
				"-I","/usr/include/x86_64-linux-gnu",
				
				"-L", "$/usr/local/lib",                
                "-l", "opencv_core",                    
                "-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","pcl_io",
                "-l","pcl_visualization",
                "-l","pcl_common",
                "-l","vtkFiltersCore-9.3",
                "-l","vtksys-9.3",
                "-l","vtkCommonCore-9.3",
                "-l","vtkRenderingCore-9.3",
                "-l","vtkGeovisCore-9.3",
                
                "-l","boost_system",

然后再Ctrl+Shift+p打开搜索框,搜索C/C++:Edit Configurations(JSON),在includepath后面接着添加如下代码,不过别忘了在"${workspaceFolder}/**"后面加个逗号:

                "/usr/include/**",

                "/usr/include/pcl-1.14",
                "/usr/local/include/vtk-9.3",
                "/usr/include/libqhull",
                "/usr/include/flann",
                "/usr/include/boost",
                "/usr/include/eigen3",
                "/usr/include/eigen3/Eigen/",
                
                "/usr/local/include/opencv4"

这只是方便大家有代码提示,具体编译我还是喜欢用CMake,确实好用,CMakeLists.txt文件也可以参考我的

cmake_minimum_required(VERSION 3.15)
project(xingming)#自己起个名,随便起啥,比如叫xingming

find_package(OpenCV REQUIRED)
find_package(PCL REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
 
add_executable(xingming1 test.cpp)#前者是自己起名字,比如xingming1 后者则是你的程序名称,比如test.cpp
 
target_link_libraries (xingming1 PRIVATE ${PCL_LIBRARIES})#与上面保持一致就行
target_link_libraries (xingming1 PRIVATE ${OpenCV_LIBS})#与上面保持一致就行

当然最好自己去学一下CMake,挺简单的。

本篇文章只是感觉这个问题挺奇怪的,就写出来了,我个人只是小白,如有不当之处,请各位批评指正。

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值