记一次升级了编译器后VSCode中产生的问题
这次的问题起源于我用容器array时需要包含头文件。
而刚刚好用到的容器array是C++11中新加入std库的,但是我的MinGw版本太低,出现了找不到库的情况。遂将自己的MinGw升级到了最新版本,此时问题出现,不知怎么的运行后报错了
报错如下:
PS D:\Work> cd "d:\Work" ; if ($?) { gcc ok.cpp -o ok.exe -std=c++11 -Wall -lm } ; if ($?) { ./ok.exe }
C:\Users\Dylan\AppData\Local\Temp\ccJuQfKx.o:ok.cpp:(.text+0x21): undefined reference to `std::ostream::operator<<(int)'
C:\Users\Dylan\AppData\Local\Temp\ccJuQfKx.o:ok.cpp:(.text+0x40): undefined reference to `std::ios_base::Init::~Init()'
C:\Users\Dylan\AppData\Local\Temp\ccJuQfKx.o:ok.cpp:(.text+0x70): undefined reference to `std::ios_base::Init::Init()'
C:\Users\Dylan\AppData\Local\Temp\ccJuQfKx.o:ok.cpp:(.rdata$.refptr._ZSt4cout[.refptr._ZSt4cout]+0x0): undefined reference to `std::cout'
collect2.exe: error: ld returned 1 exit status
显然是编译器没找到对应的库
花费大量的时间找了很多办法,包括但不限于大幅修改了tasks.json,launch.json,c_cpp_properties.json,setting.json等文件,无果。
偶然了解到C++用g++进行编译会更好,用gcc的话gcc会无法链接到库,所以出现了上方的报错,但是上面几个文件的参数全都调成了g++的路径,确认无误了还是跑不动。
于是尝试调试:
#include <iostream>
#include <array>
#include <cstring>
using namespace std;
int main()
{array<int,5>arr;arr[1]=2;cout<<arr[1];return 0;
}
结果如下:
PS D:\Work> & 'c:\Users\Dylan\.vscode\extensions\ms-vscode.cpptools-1.1.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-kkr4f2fp.y4m' '--stdout=Microsoft-MIEngine-Out-oqst5aks.rig' '--stderr=Microsoft-MIEngine-Error-wamcvkqu.ev0' '--pid=Microsoft-MIEngine-Pid-sbfykvax.bpj' '--dbgExe=D:\MinGw\bin\gdb.exe' '--interpreter=mi'```
2
神奇的是居然跑动了,那么就是说gdb是被正确地调用了的
又徒劳了半天之后
终于发现报错中的细节
PS D:\Work> cd "d:\Work" ; if ($?) { gcc ok.cpp -o ok.exe -std=c++11 -Wall -lm } ; if ($?) { ./ok.exe }
//上方的"gcc"有大问题
跑的仍然是gcc,一番思索之后,我想既然是用code runner插件跑的,那么就尝试下在code runner的配置文件中寻找答案。抱着最后一丝希望,我找到配置文件一点开就发现了抓眼的英文字母
将其改为g++后再跑这次因为方向走错了,导致浪费了大量时间…
总之还是要细心,要在问题的基础上寻找问题的根源,方向走错了会白费大量时间,还会打击信心,但不论如何,我又可以继续开心地码起来了…
记一次升级了编译器后VSCode中产生的问题相关推荐
- 记一次升级node版本后,运行原vue项目报错问题解决方法
记一次升级node版本后,运行原vue项目报错问题解决方法 参考文章: (1)记一次升级node版本后,运行原vue项目报错问题解决方法 (2)https://www.cnblogs.com/happ ...
- 升级golang版本导致vscode中golang没有代码提示问题处理
2019独角兽企业重金招聘Python工程师标准>>> 上半年安装了vscode中golang的插件,经过折腾代码提示这些都好了,但当时goland还可以用,就放弃了vscode来编 ...
- vscode中jsx中没有html语法提示,不能自动补全的解决办法
学习React遇到的一个编译器问题--vscode中写jsx没有html语法提示的 如下图所示,当我们输入一个div,编辑器并没有为我们提示语法. 解决办法: 打开vscode设置,搜索include ...
- keil5工程 AC5 编译器升级 AC6编译器
keil5工程 AC5 编译器升级 AC6编译器 1.概述 2.移植 1.概述 传统keil mdk的编译速度远远落后于IAR,但自从keil新版发布之后,AC6编译器要超过了IAR的编译速度,接下来 ...
- VSCode中,新建js文件中编译器自带jQuery提示失效的解决方法
VSCode中,新建js文件中编译器自带jQuery提示失效的解决方法 在VSCode中,新建js文件可能会发生VSCode自带的jQuery提示引起失效,如下图 在HTML文件中进行编辑,<s ...
- Atitit.提升 升级类库框架后的api代码兼容性设计指南
Atitit.提升 升级类库框架后的api代码兼容性设计指南 1. 增加api直接增加,版本号在注释上面增加1 2. 废弃api,使用主见@dep1 3. 修改api,1 4. 修改依赖import, ...
- 使用webpack打包后,vscode中vue代码变白色的解决办法
使用webpack打包后,vscode中vue代码变白色的解决办法 卸载vetur,重装vetur
- 升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法
升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法 升级10.11后,运行pod命令出现: -bash: pod: command not f ...
- macbookpro升级后打不开eclipse_维修分享——面容坏升级iOS13系统后 导致前后摄像头都打不开...
最近搜狗CEO王小川在微博上吐槽说:手机升级iOS13系统后,导致前后摄像头打不开.我这正好也碰到了一样的故障.经过研究,总结出导致的原因和维修方法分享给大家. 首先和大家科普下,面容的组成部分 环境 ...
最新文章
- php preg_replace 正则替换图片路径
- JavaScript 笔记(2) -- 类型转换 正则表达 变量提升 表单验证
- 了解select模型的六大注意点
- cmd 删除文件夹_永远不要碰的5个macOS文件夹及原因
- 《每日一题》738. Monotone Increasing Digits 单调递增的数字
- python参数类型_Python 参数类型和参数匹配模型
- java猜数字小游戏_Java实现简单猜数字小游戏
- 【Eclipse】eclipse在线安装反编译插件
- 南工院C语言试卷答案,南工院11-12-1C期末B试卷 附答案.doc
- 【嵌入式Linux】嵌入式Linux应用开发基础知识之输入系统应用编程
- Unity Editor下改变场景里prefab的参数后保存时注意点
- 员工邮箱能收不能发的解决方法
- [微信小程序开发] 用wx.navigateTo方法跳转到tabBar中被定义了的页面将无法跳转
- 查看SVN当前登录用户
- 程序员首选编程电脑【火爆来袭】
- Android 10 低内存应用白名单和应用保活
- 画坦克__线程__V1__第一种方法创造线程
- 三、vue3--生命周期、Hook函数、 toRef和toRefs、其他的组合式API
- Qt开发经验总结之武林秘籍
- HCIE课程笔记18-局域网二层技术
热门文章
- pbx_functions.c:699 ast_func_write: Function DENOISE not registered
- error: C2039: “staticMetaObject”: 不是“QGraphicsItem”的成员
- 程序员修炼之道-从小工到专家 读后感
- docker进入容器出现bash-4.2#解决办法
- Fatal message conversion error;message rejected;it will be dropped or routed to a dead letter exchan
- c++ 编译DLL和使用DLL
- IdentityServer4实现Token登录以及权限控制
- 距离感应器实现锁频教程
- 通话距离感应实现源码
- 如何从0开始在鸿蒙OS中制作一个APP!