回 帖 发 新 帖 刷新版面

主题:请教!

这样的错误是什么意思
-----------------Configuration: love - Win32 Release--------------------
Linking...
LIBC.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Release/love.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
请教,谢谢!

回复列表 (共2个回复)

沙发

我也碰到过这种问题,当你在头文件中定义一个变量,而该变量又被循环#include,就会引起这类错误,只有在link时才会出现。我的解决方法就是用外部定义extern,这是因为.obj中有相同的变量名或函数名所致,如:
////////////////////////////
//file1.h
int i;
......;
//file1.cpp
......;
//file2.h
#include "file1.h"
......;
//file2.cpp
......;
//file3.h
#include "file2.h"
......;
//file3.cpp
......;
/////////////////////////
改成
////////////////////////////
//file1.h
......;
//file1.cpp
int i;
......;
//file2.h
#include "file1.h"
......;
//file2.cpp
extern int i;
......;
//file3.h
#include "file2.h"
......;
//file3.cpp
extern int i;
......;
/////////////////////////
可能这不一定是最好的方法,但确实是可行的。希望对你有所帮助。

板凳

我只能很遗憾地告诉你,你选错了工程的类型。

我来回复

您尚未登录,请登录后再回复。点此登录或注册