【发布时间】:2018-02-23 02:43:33
【问题描述】:
我是一个编程新手,有一个非常基本的问题,可以在其他线程中回答,但我认为它们太先进了,我无法理解。到目前为止,我实际上已经在这个网站上找到了很多答案,但这是迫使我创建一个帐户并询问的第一个问题。 无论如何,我正在 linux mint 18.3 上运行一个非常基本的示例程序。现在我已经看到这个确切的代码在我相信的 Windows 8 机器上工作,所以我想知道这是否是问题所在。我创建了一个类,当我插入我的对象然后构建并运行时,我得到:
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o||在函数_start':|
(.text+0x20)||undefined reference tomain'|
这是完整的代码:
#include <iostream>
#include "Gladius.h"
using namespace std;
int main()
{
Gladius io;
return 0;
}
这是非常基本的。这是.h
#ifndef GLADIUS_H
#define GLADIUS_H
class Gladius
{
public:
Gladius();
};
#endif // GLADIUS_H
以及类的 .cpp。
#include "Gladius.h"
#include <iostream>
using namespace std;
Gladius::Gladius()
{
cout << "The Gladius is a short sword" << endl;
}
我知道这看起来非常简单,但我只是在学习编码,我一直在寻找解释为什么这不起作用但我看到它在另一台电脑上完全正常工作。无论如何,任何解释都将不胜感激。
这是我在命令行中找到的如果这回答了您关于 cmd 中的内容的问题。
g++ -Wall -fexceptions -g -std=c++11 -Wall -I -c /home/gator/Documents/Spartan1/Gladius.cpp -o obj/Debug/Gladius.o
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o:在函数_start':
(.text+0x20): undefined reference tomain'
collect2: error: ld 返回 1 个退出状态
【问题讨论】:
-
这段代码没有问题。我宁愿在编译器/IDE 设置中寻求不一致。你以前有过这种情况吗?您到底在使用哪个编译器(及其版本)?编辑:或者您可能没有使用
main实现链接文件。 -
makefile\build 步骤有问题。应该建立步骤,请
-
我正在使用来自 code::blocks 的 GNU GCC 编译器,我刚刚得到了我相信的最新版本。
标签: c++ linux codeblocks main