Windows系统
,使用vscode编译C++时,报错:
ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". During startup program exited with code 0xc0000139.
原因是其他软件(如anaconda、Qt)中的libstdc++ -6.dll和MinGW64中的libstdc++ -6.dll发生冲突。
具体原因是其他软件的环境变量,在MinGW64的环境变量的前面, 导致 gdb 调试时选择的 libstdc++ -6.dll 不是 mingw64\bin 中的,而是前面的环境变量中的该文件。
解决方法:
法一:
将动态库文件
libstdc++ -6.dll
,复制到当前项目生成的.exe可执行程序的所在目录。
法二:
将MinGW64的环境变量(mingw/bin)移动到,其他软件环境变量的前面。
法二,在某些情况下,可能会导致其他软件(anaconda、Qt)发生上述冲突,例如:在鼠标双击运行Qt生成的可执行程序时,Qt报错无法定位程序输入点xx于动态链接库xxx。