You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下VSCode中C++的cout无法输出,printf正常的问题求助

Windows下VSCode中C++ cout无法输出且报错exit code -1073741515的解决方法

问题背景

在Windows系统使用VSCode进行C++开发时,printf代码可正常运行,但使用cout的代码编译无错误,运行时终端提示:

The terminal process [path\to\executable] terminated with exit code: -1073741515

可正常运行的printf代码:

#include<cstdio>
#include<stdlib.h>

int main()
{
    printf("hola\n");
    system("pause");
    return 0;
} 

无法正常运行的cout代码:

#include<iostream>
#include<cstdio>
#include<stdlib.h>

using namespace std;

int main()
{
    cout<<"hola\n";
    system("pause");
    return 0;
} 

已尝试重装VSCode、相关扩展及MSYS2,问题仍未解决。

错误原因分析

exit code -1073741515对应Windows系统错误码0xC0000135,核心原因是程序启动时找不到所需的动态链接库(DLL),通常是C++标准库的运行时DLL缺失,或编译器链接配置异常。

解决方案

1. 检查编译命令的链接配置

确保VSCode的tasks.json中编译命令正确链接C++标准库,以MinGW为例,编译命令应包含必要的默认链接参数,不要添加-nostdlib这类禁用标准库的参数。示例tasks.json编译命令:

g++ -g ${file} -o ${fileDirname}\\${fileBasenameNoExtension}.exe

2. 配置系统环境变量,添加运行时库路径

将MSYS2中MinGW的bin目录添加到系统PATH环境变量:

  • 若使用mingw64,路径通常为C:\msys64\mingw64\bin
  • 添加后重启VSCode,让环境变量生效

临时解决可在VSCode终端中执行:

set PATH=C:\msys64\mingw64\bin;%PATH%

再运行程序。

3. 静态链接C++标准库

编译时添加静态链接参数,将标准库打包进可执行文件,避免依赖外部DLL:

g++ -g ${file} -o ${fileDirname}\\${fileBasenameNoExtension}.exe -static-libstdc++ -static-libgcc

4. 验证VSCode的C/C++配置正确性

按下Ctrl+Shift+P,选择C/C++: Edit Configurations (UI):

  • 确认编译器路径指向正确的MinGW g++(如C:\msys64\mingw64\bin\g++.exe)
  • C++标准选择c++17及以上版本

5. 强制刷新cout缓冲区(辅助排查)

虽然不是崩溃的核心原因,但可尝试在cout语句后添加缓冲区刷新操作,确认是否存在输出缓冲问题:

cout << "hola" << endl; // endl会自动刷新缓冲区
// 或
cout << "hola\n";
cout.flush();

内容的提问来源于stack exchange,提问作者wolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:25:08