我在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
这怎么可能?我必须在这里遗漏一些非常基本的东西,但现在我已经到了我的系绳的最后。
我已经查看过有关此主题的其他问题,但无法找到答案。
答案 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