编译问题:在函数"_start"中:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
Compiling problem : In function `_start': undefined reference to `main' collect2: error: ld returned 1 exit status
我收到以下错误:
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/crt1.o: In function_start':
/build/glibc-6V9RKT/glibc-2.19/csu/../sysdeps/x86_64/start.S:118: undefined reference to
main' collect2:错误:ld 返回 1 个退出状态
使用的 G++:
g++ -Wall main.cpp plzsucheclass1.cpp -o listentest
这是我的主要.cpp :
#include <iostream>
#include "plzsucheclass.hpp"
using namespace std;
int main() {
int eingabe;
cout << "Wollen Sie die Suchfunktion fuer PLZ/Ort oder die Entfernung zwischen zwei Gebieten berechnen? " << 'n';
cout << 'n' << "Geben Sie 0 fuer Suchen und 1 fuer Berechnen ein ! " << 'n';
cout << 'n' << "Geben Sie 2, um das Programm zu beenden, ein !" << 'n' << 'n';
cin >> eingabe;
LesenSchreiben l;
SuchenBerechnen sb;
switch (eingabe) {
case 0:
l.datei_bdlEinlesen();
sb.plzortSuchen(l);
break;
case 1:
l.datei_laebrEinlesen();
sb.sucheEntfernung(l);
break;
case 2:
exit(0);
default:
cerr << 'n' << "Keine korrekte Auswahl getroffen, bitte erneut versuchen !!!" << 'n';
}
return 0;
}
如果你能帮我解决这个问题,那就太好了。 提前谢谢。
创建一个简单的main()
函数和空plzsucheclass1.cpp
后,我无法重现您的错误:
$ cat >> main.cpp
int main() {
return 0;
}
$ cat >> plzsucheclass1.cpp
$ g++ -Wall main.cpp plzsucheclass1.cpp -o listentest
$ ./listentest
$ ./listentest && echo "Success"
Success
我怀疑您的构建命令与您在此处发布的不完全一样。
我在制作第一个C++程序时遇到了这个问题,这是因为我在编译之前没有保存它。因此,请尝试保存它。
如果您准确地描述了问题,则只有一种方式会发生错误。
最可能的解释是你不准确。要么你的构建命令没有g++ -Wall main.cpp plzsucheclass1.cpp -o listentest
,要么你显示的main.cpp
不是你正在编译的命令(也许你在不同的目录中运行了g++
命令,main.cpp
不同
?另一种选择是plzsucheclass1.hpp
标头将main
定义为宏,因此会导致int main()
替换为其他内容。别这样。
相关文章:
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 编译问题:在函数"_start"中:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 试图在崇高中奔跑. 错误 已发生: 收集2.exe: 错误: ld 返回 1 退出状态
- collect2:错误:ld 返回 1 个退出状态未定义的引用
- C++ collect2:错误:ld 返回 1 退出状态
- 找不到 -llibmysqld Collect2.exe:错误:ld 返回 1 退出状态
- ld 链接器错误,未定义对主函数的引用
- 使用 Arduino 对 ATtiny10 进行编程 ( "ld.exe" 错误)
- 每次我要使用外部资源时,我都会得到:collect2。exe:错误 ld 返回 1 退出状态
- 当出现错误ld return 1退出状态时,如何编译程序
- Cmake无法在qt-creater/collect2上编译简单的测试程序:错误:ld
- c++ (C::B) 错误:ld 返回 1 个退出状态
- C++ XCODE ld:找不到体系结构x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -
- 我在C++中收到错误" [Error] ld returned 1 exit status".帮我解决这个问题
- 使用 openCV 编译程序时收集 2 ld 错误
- NDK R20 LD:LD:错误:找不到-lpthread
- Clang 3.8 错误:参数 '-fuse-ld=gold-2.25' 中的链接器名称无效
- g++ 编译错误消息:/usr/bin/ld:找不到 -LSSL
- QtCreator - 无法链接到静态库(ld 错误)
- 如何消除ubuntu中的ld错误