C++使用cout、cin时出现Segmentation fault问题的排查与解决
C++ cout/cin触发Segmentation Fault的排查与解决
问题现象
中断两年后重新学习C++,首日开发一切正常,但次日所有包含cout或cin的项目运行时均触发Segmentation fault错误,调试控制台显示错误位于std::basic_ostream相关代码处。
示例测试代码:
#include <iostream> using namespace std; int main() { string abc = "a"; std::cout << "hi"; return 0; }
- 错误固定出现在
std::cout调用位置,std::string可正常使用 - 直接使用
cout(已声明using namespace std;)也会触发相同错误 - 调用
cin时同样会报错
环境信息
- 操作系统:Windows
- 编译工具:g++
- 开发编辑器:Visual Studio Code(已安装C++插件,
.vscode目录下无c_cpp_properties.json文件)
无效排查尝试
已尝试以下方法,均未解决问题:
- 重启电脑与Visual Studio Code
- 重装g++编译器
- 新建空白项目文件测试
- 检查系统环境变量中的路径配置
- 搜索相关技术资料
最终解决方案
定位到问题根源:程序运行时加载了Julia-1.8.2目录下的libstdc++-6.dll,导致与g++自带的标准库DLL版本冲突。调整环境变量优先级,避免程序优先加载Julia目录下的DLL文件后,问题彻底解决。
内容的提问来源于stack exchange,提问作者Stupid
相关产品推荐
相关产品推荐

