I installed MS VS VC++ for the first time in order to start programming OpenGL with GLFW library. I follower instructions on how to install it over at http://shawndeprey.blogspot.com/2012/02/setting-up-glfw-in-visual-studio-2010.html Then I wrote this simple program, just to test it, which did work on Eclipse:
#include <stdlib.h>
#include <GL/glfw.h>
using namespace std;
int main()
{
int running = GL_TRUE;
if (!glfwInit()) {
exit(EXIT_FAILURE);
}
if (!glfwOpenWindow(300, 300, 0, 0, 0, 0, 0, 0, GLFW_WINDOW)) {
glfwTerminate();
exit(EXIT_FAILURE);
}
while (running) {
// glClear( GL_COLOR_BUFFER_BIT );
glfwSwapBuffers();
running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED);
}
glfwTerminate();
exit(EXIT_SUCCESS);
return 0;
}
But then I got this awful error:
------ Build started: Project: first1, Configuration: Debug Win32 ------
LINK : fatal error LNK1561: entry point must be defined
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I know, I've looked around on the internet and the only solution I found was "It requires main()
function in order to work". I obviously have it, right there, but it still throws me the same fatal error :(
Would be great to get response on how to fix it. There might me a flaw in the installation process or something.
In my case, the program was running normal, then, after one day I just ran into this problem without doing nothing.
The solution that worked (before editing, the area was empty):
In Visual Studio: Properties
->
Advanced->
Entry Point->
write just the name of the function you want the program to begin running from, case sensitive, without any brackets and command line arguments.It cant find the entry point for your program, in this case
main()
. Your linker settings are likely incorrect.See this post here
Is this a console program project or a Windows project? I'm asking because for a Win32 and similar project, the entry point is
WinMain()
.If it says
Subsystem Windows
your entry point should be WinMain(), i.e.Besides, speaking of the comments. This is a compile (or more precisely a Link) error, not a run-time error. When you start to debug, the compiler needs to make a complete program (not just to compile your module) and that is when the error occurs.
It does not even get to the point being loaded and run.
Main was missing in the entry point configuration.
I've had this happen on VS after I changed the file's line endings. Changing them back to Windows CR LF fixed the issue.