当前位置: 首页 > news >正文

报错 - undefined reference to `main‘

一、问题

  • 今天在Linux下使用 g++ 编译代码时,出了一个报错:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x24): undefined reference to `main'
collect2: error: ld returned 1 exit status
make: *** [makefile:2: test] Error 1

我觉得莫名其妙,它竟然说 “main” 有问题,main() 函数明明好好的,也没打错之类的。

  • 部分代码如下:
#include <pthread.h>
#include <iostream>const int threadsnum = 6;
namespace zzz
{int main(){std::vector<pthread_t> threads;std::vector<ThreadResult *> thread_rets...

大家看出问题了吗?

二、解决

  • 其实是 main() 被放在了 zzz 这个命名空间里了,导致它不是公开的了。
    main() 从命名空间里拿出来后,就没有这个报错了。
    在这里插入图片描述

  • 注意: main() 不能放在命名空间里面,即使将命名空间展开也不可以。即使展开了命名空间,main() 函数也不再是单纯的 main() 了,而是 zzz::main() 了。
    在这里插入图片描述


本文到这里就结束了,如果对您有帮助,希望得到您的一个赞!🌷
如有错漏,欢迎指正!😄


http://www.mrgr.cn/news/28242.html

相关文章:

  • 自动化生成测试用例:利用OpenAI提升电商网站测试覆盖率
  • 【已解决】git push一直提示输入用户名及密码、fatal: Could not read from remote repository的问题
  • Bottom-Up Attention(借助CNN)
  • 安全见闻-泷羽sec课程笔记
  • 商城小程序(源码+文档+部署+讲解)
  • 实习冲刺练习 第二十二天
  • 动态规划day33|62. 不同路径、63. 不同路径 II(对障碍物的处理)、343. 整数拆分(理解有难度)
  • C语言 ——— 编写代码,将一个长整数用逗号隔开,每3位一个逗号,并输出打印
  • 杨敏博士:基于法律大模型的智能法律系统
  • 前后端分离与集成技术在 Python Web 开发中的应用
  • 关于setrlimit RLIMIT_STACK的一点说明
  • 【Linux】调试和Git及进度条实现
  • 【C++】【网络】【Linux系统编程】单例模式,加锁封装TCP/IP协议套接字
  • 端侧大模型系列 | 斯坦福手机端侧Agent大模型,为Android API而生!
  • robomimic基础教程(一)——基本概念
  • 王道408考研数据结构-绪论
  • 排序题目:H 指数
  • 【C++】 —— string的使用
  • Linux基础---09Find文件查找
  • 智能BI项目第一期
  • Nature Geoscience 最新文章解码自然的气候护盾!植物多样性增强草地土壤温度稳定性
  • 【数据结构】图的概念和存储结构
  • Rocky Linux 9安装mysqlclient库报错的解决方法
  • 最全 高质量 大模型 -评估基准数据集(不定期更新)
  • 谷粒商城のElasticsearch
  • VLMEvalKit 评测实践:InternVL2 VS Qwen2VL