C++非常简单的未解决外部

C++ very simple unresolved external

本文关键字:未解决 外部 简单 非常 C++      更新时间:2023-10-16

我在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

这怎么可能?我一定在这里错过了一些非常基本的东西,但现在我正处于束缚的尽头。

我看过关于这个主题的其他问题,但找不到答案。

你有main()吗?
@艾伦。还没有。– 奥利克里马

好吧,那你去吧。

这是

未找到main,正如错误消息几乎所述。

如果您尝试将Rational.cpp链接到可执行文件中,它需要一个入口点 ( main )。如果您只是创建对象文件,则不会完成链接。您的入口点可以放在另一个文件中,即main.cpp,然后将其链接在一起。

首先,把它放在main.cpp

int main()
{
}

然后运行以下命令:

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