问题
/usr/lib/gcc/x86_64-linux-gnu/7/…/…/…/x86_64-linux-gnu/Scrt1.o:在函数‘_start’中:
(.text+0x20):对‘main’未定义的引用
collect2: error: ld returned 1 exit status
已知
10分之前还可以编译、运行,稍微改动代码后不能运行了,所以虚拟机的环境没问题,应该是代码问题或者编译时没有指向正确的库
百度到以下两种方案,但没能解决
方案一
https://blog.csdn.net/weixin_41865104/article/details/89495874.
方案二
https://blog.csdn.net/haovin/article/details/92802061.
以上两种方法都没能解决我的问题,下面开始胡搞
#include 头文件
// 功能函数
int get_access_token(){
***************
这里省略好多代码
***************
}
// 回调函数
int Json(string xxx){
***************
这里也是一大段代码
***************
}
到这里突然发现,我没写 main 函数
具体过程是:我写了一个大的 main 函数运行整个程序,又写了小的 main 函数用来测试单个函数的功能、参数等等,采用注释一个运行另一个的方式来调试程序,调来调去的过程中两个 main 函数都没运行,于是报如上错误,一时间不知从何下手
到这里恍然大悟,希望能给遇到同类问题的朋友一个思路
再来看报错,对“ main ” 未定义,没毛病,编译器真智能
不说了,我去面壁了
类似问题:
access_token.cpp:(.text+0x22b):对‘curl_easy_init’未定义的引用
access_token.cpp:(.text+0x8f):对‘Json::Reader::Reader()’未定义的引用