C ++非常简单,未解析外部

时间:2014-01-05 21:37:52

标签: c++ unresolved-external

我在Visual Studio C ++编译器中有一个未解析的外部设备,这让我绝对是破解者。类头和源文件非常简单。

标题文件:

// Header file: Rational.h
class Rational
{
public:
    Rational ( int = 0, int = 1 ); 
private:
    int numerator;
    int denominator;    
};

源文件:

// Source file: Rational.cpp
#include <iostream>
#include "Rational.h"

using namespace std;

Rational::Rational( int n, int d )
{
    numerator = n;
    denominator = d;
}

错误消息是:

error LNK2019: unresolved external symbol _main referenced in function    ___tmainCRTStartup    

error LNK1120: 1 unresolved externals

这怎么可能?我必须在这里遗漏一些非常基本的东西,但现在我已经到了我的系绳的最后。

我已经查看过有关此主题的其他问题,但无法找到答案。

2 个答案:

答案 0 :(得分:4)

  

你有main()吗? - 艾伦斯托克斯郎   @艾伦。还没。 - OliKlima

那么,那你去吧。

这是找不到的main,因为错误消息几乎说明了。

答案 1 :(得分:1)

如果您尝试将Rational.cpp链接到可执行文件,则需要一个入口点(main)。如果您只是创建一个目标文件,那么就没有完成链接。您的入口点可以放在另一个文件中,即main.cpp,然后将它们链接在一起。

首先,将其放在main.cpp

int main()
{
}

然后运行以下命令:

g++ -c Rational.cpp
g++ -c main.cpp
g++ -o main main.o rational.o