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

使用std::cout的C++ Hello World程序出现链接错误,如何解决?

编译C++程序出现未定义符号错误的解决办法

你遇到的错误是因为用gcc编译C代码时,默认不会自动链接C标准库。那些Undefined symbols都是C++标准库(比如std::cout相关组件)里的符号,编译器找不到它们的实现,所以链接失败。

两种解决方式:

1. 用专门的C++编译器g++编译(推荐)

g++是为C设计的编译器,会自动处理C标准库的链接,直接执行:

g++ -o hello hello.cpp

编译完成后运行程序:

./hello

2. 继续用gcc,但手动指定链接C++标准库

如果非要用gcc,需要添加-lstdc++参数,让编译器链接C++标准库:

gcc -o hello hello.cpp -lstdc++

额外说明

你有C语言基础,记住这俩工具的区别:

  • gcc:编译C代码时自动链接C标准库,但编译C代码不会自动处理C标准库
  • g++:不管是C还是C代码,都会自动对应链接标准库,日常写C用它更省心

你的代码本身没问题,就是编译命令用错了,调整后就能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:11:12