注意, 本文的报错是由于g++的库缺失, 如果是游戏/软件报错, 一般是vc的库缺失, 这两种错是不同原因的, 后者需要去自己安装vc依赖库, 可以参考这里

bug症状:

  • 在powershell界面 (vscode内置或者win terminal里) 32位的cpp程序无法输出(实际上是无法运行,报错被屏蔽了而已)
  • 在cmd界面, 出现0xc000007b错误无法运行

如图, 我使用windows下的g++编译cpp程序的时候, 出现这个错误

img

经过debug, 可能原因是: 在64位系统上运行32位程序, 找不到g++对应的依赖

因为我使用g++ -m32 ./test.cpp -o a.exe这个命令, 然后执行出错

解决方法为:

  • 使用64位编译, 如上, 去掉-m32即可
  • 使用静态编译, 有时候我们必须测试32位程序, 输入g++ -static -m32 ./test.cpp -o a.exe即可
  • 安装32位的依赖, 这个比较麻烦, 我懒得…