Visual Studio Code C++编译配置

Visual Studio Code下载安装:Ubuntu20.04在vsCode配置opencv_ubuntu vscode配置opencv-CSDN博客

出现的错误(版本不对):dpkg: 依赖关系问题使得 code 的配置工作不能继续

在ubuntu16上用dkpg安装vscode 出现错误_dpkg: 依赖关系问题使得 code 的配置工作不能继续: code 依赖于 libc6 (>= -CSDN博客

学习资料:

Visual Studio Code快速编译运行:安装扩展Code Runner,(设置里面输入run in terminal,勾选),在程序界面会出现“三角形符号”,直接点击运行即可。

关闭生成的tempCodeRunnerFile.cpp文件,设置里面搜索Code-runner:Ignore Selection勾选

C++编译运行头文件与源文件之间的关联(多个源文件之间的关联,编写头文件的注意点):我终于把C++多文件编程理解透彻了_c++ 文件多好还是合并好-CSDN博客

C++调用opencv正确的编译方式(新人小白只会用,学到哪里就去翻知识,救了老命):Linux下编写C++代码引用opencv头文件,编译报错 undefined reference to `cv::imread的解决办法_使用opencvc++库就报错找不到cv::imread和cv::imwrite函数-CSDN博客

 CMakeLists.txt编写参考:【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)_【cmake】cmakelists.txt的超傻瓜手把手教程(附实例源码)-CSDN博客

配置参考:

最新VS code配置C/C++环境(tasks.json, launch.json,c_cpp_properties.json)及运行多个文件、配置Cmake_新版本vscode环境配置-CSDN博客

参考官网:Get Started with C++ on Linux in Visual Studio Code

重新安装的visual studio code需要配置C++程序需要的库路径,在./vscode/c_cpp_properties.json:Ubuntu20.04在vsCode配置opencv_ubuntu vscode配置opencv-CSDN博客

单个文件编译

ctrl+shift+P:C/C++编辑配置(UI);

编辑器路径:(下载的MinGW中的gcc.exe路径);

IntelliSense模式(选择gcc-X64(legacy));

生成.vscode文件夹(.vscode\c_cpp_properties.json)

终端——》配置任务——》选择C/C++:gcc.exe生成活动文件——》生成tasks.json文件

C++程序文件点击终端——》运行生成任务——》生成文件名.exe文件

ctrl+` (esc按键下)打开终端,显示该程序文件的路径信息,在该终端下输入.\文件名.exe完成编译

在创建多个文件夹时,可共享.vscode文件夹,无需再进行相应的配置

多个文件编译

当文件夹中包含多个.cpp文件,想同时编译,修改tasks.json文件里面的${file},${fileDirname}\\${fileBasenameNoExtension}.exe

${file}修改为:

${workspaceFolder}\\*.cpp构建当前工作区中的所有C文件

${fileDirname}\\${fileBasenameNoExtension}.exe修改为:

${workspaceFolder}\\${workspaceRootFolderName}.exe

终端——》运行生成任务——》ctrl+`——》终端输入文件名.\文件名.exe文件

编译错误

一、In function"int main() “XXXX”was not declared in this scope

解决办法:没有在main函数之前声明XXXX函数,void XXXX()。(也可以写入头文件中,在源文件把头文件包含进去)具体原因可参考:我终于把C++多文件编程理解透彻了_c++ 文件多好还是合并好-CSDN博客

二、undefined reference to `cv::imread(cv::String const&, int)'

error: undefined reference to `cv::imread(cv::String const&, int)' 解决方法-CSDN博客俄

自己留作学习使用(《视觉SLAM十四讲》)

一、程序编译生成可执行程序文件:

1.g++编译

指定输出文件名:g++ -o (输出的指定文件名) 程序名cpp。

例:g++ -o helloslam helloSLAM.cpp(《视觉slam十四讲》中的例子)

2.cmake编译程序(cmake处理工程文件之间的关系,make调用g++编译程序)

编写CMakeLists.txt文件—>切换到当前目录下,cmake . —>make—>运行可执行文件

新增一个可执行文件,只需要在CMakeLists.txt中添加add_executable命令即可。

更常见的编译cmake工程的做法(切换到当前的工作目录下):(cmake产生的中间文件生成在build文件夹中,与源码分开)

mkdir build

cd build

cmake ..

make

二、库文件

带有main函数的源文件编译成可执行程序,其他的编译成库文件。

一些代码打包成一个东西供其他程序调用,这个东西叫做库。

用cmake生成库,并使用库中的函数:

1)书写一个库函数.cpp(没有main函数)

2)CMakeLists.txt加入add_library(可执行文件名  源程序名)

3)cmake编译整个工程,build文件夹生成.a文件—>库(3,4可选)

Linux中库文件分为静态库和共享库。静态库.a,共享库.so。所有库都是一些函数打包后的集合,差别在于静态库每次被调用都会生成一个副本,共享库只有一个副本。

4)add_library(可执行文件名 SHARED 源程序名),编译成共享库。

调用库:头文件.h+库文件.cpp

头文件:声明函数,其他文件需要调用该函数,只需包含该头文件即可。

5)编写头文件.h

6)编写.cpp文件调用函数

7)CMakeLists.txt添加可执行文件的生成命令,链接到我们使用的库上

add_executable()生成调用函数.cpp的可执行文件

target_link_libraries()可执行程序链接到库文件。

错误1:未将程序链接到库文件上


程序代码由头文件和源文件组成

库由头文件和库文件组成

一、visual studio code 终端显示很奇怪(例如p p p p ):

解决办法:设置->用户->文本编辑器->字体,只保留monospace(设置如上图所示)

二、在visual studio code运行python程序,终端报错找不到命令‘python3':(python3没有链接到)

解决办法(我用的是方法二):解决报错:找不到命令 “python”,您的意思是 “python3” 命令来自 Debian 软件包 python3 的几种方式_找不到命令 “python”,您的意思是: “python3” 命令来自 debian 软件包 py-CSDN博客

 三、VSCode打开程序之后报错:加载web视图时出错:Erroe:Could not register service workers:InvalidStateErroe:Failed to register a  ServiceWorker:The document is in a valid state

解决办法:Ubuntu终端输入 killall code (有可能是有其他进程导致了问题)

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值