错误 LNK2019:函数 ___tmainCRTStartup 中引用了未解析的外部符号 _main,但这一次不是 W

error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup, but this time it#39;s NOT a Windows/Console problem!(错误 LNK2019:函数 ___tmainCRTStartup 中引用了未解析的外部符号 _main,但这一次不是 Windows/控制台
本文介绍了错误 LNK2019:函数 ___tmainCRTStartup 中引用了未解析的外部符号 _main,但这一次不是 Windows/控制台问题!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

所以,臭名昭著的错误又回来了.该项目抱怨它找不到 main() 方法(这就是错误的含义,对).

So, the infamous error is back. The project is complaining that it can't find the main() method (that's what the error means, right).

但是我确实有一个主项目,而且我的项目应该是一个控制台项目.它以前有效,所以我知道不是那样.

However I do have a main, and my project is a Console project, as it should be. It worked before, so I know it's not that.

此外,该项目的类和文件太多,我无法将它们全部发布,因此我会根据您的要求发布任何您需要的类.

Also, the project has too many classes and files for me to post them all, so I will post any classes you need by request.

这是 Visual Studio 2010 上的 C++、OpenGL 和 SDL 游戏.这不是任何库的问题,因为它在突然莫名其妙地显示此链接器错误之前运行良好.

It's a C++, OpenGL and SDL game on Visual Studio 2010. It's not a problem of any of the libraries, as it was working fine before it suddenly and inexplicably showed this linker error.

main() 方法:

int main(int argc, char **argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_ALPHA);
 glutCreateWindow("Game");

 glEnable(GL_DEPTH_TEST);
 glEnable(GL_NORMALIZE);
 glEnable(GL_COLOR_MATERIAL);
 glEnable(GL_BLEND);
 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

 g = Game();
 glutInitWindowSize(g.getScreenWidth(), g.getScreenHeight());
 //glutPositionWindow(1280, 50);

 // Callbacks
 glutDisplayFunc(handleRedraw);
 glutReshapeFunc(handleResize);
 glutMouseFunc(handleMouseClicks);
 glutPassiveMotionFunc(handleMouseOvers);
 glutKeyboardFunc(handleKeyboardEvents);
 glutTimerFunc(50, moveItemToInventory, 0);

 glutMainLoop();

 return 0;
}

推荐答案

SDL_main.h 自动包含在 SDL.h 中,因此您总是会遇到讨厌的 #define.

SDL_main.h is included automatically from SDL.h, so you always get the nasty #define.

随便写:

#include <SDL.h>
#undef main

它应该可以正常工作

这篇关于错误 LNK2019:函数 ___tmainCRTStartup 中引用了未解析的外部符号 _main,但这一次不是 Windows/控制台问题!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Prevent class inheritance in C++(防止 C++ 中的类继承)
Why should I declare a virtual destructor for an abstract class in C++?(为什么要在 C++ 中为抽象类声明虚拟析构函数?)
Why is Default constructor called in virtual inheritance?(为什么在虚拟继承中调用默认构造函数?)
C++ cast to derived class(C++ 转换为派生类)
C++ virtual function return type(C++虚函数返回类型)
Is there any real risk to deriving from the C++ STL containers?(从 C++ STL 容器派生是否有任何真正的风险?)