Jump to content

  • Log In with Google      Sign In   
  • Create Account


[SFML]VS2010 Linker errors


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 MisteRnoOrOnha   Members   -  Reputation: 241

Like
0Likes
Like

Posted 26 February 2013 - 05:09 PM

Hello, i'm trying to set up an development enviroment with VS2010 but when i'm trying to compile my SFML code(http://www.sfml-dev.org/tutorials/2.0/./start-vc.php) i toke this errors:

 

 1>------ Build started: Project: sfml-app, Configuration: Debug Win32 ------
1>  main.cpp
1>main.obj : error LNK2001: unresolved external symbol "public: static class sf::RenderStates const sf::RenderStates::Default" (?Default@RenderStates@sf@@2V12@B)
1>main.obj : error LNK2001: unresolved external symbol "public: static class sf::Color const sf::Color::Green" (?Green@Color@sf@@2V12@B)
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>c:\users\sandra\documents\visual studio 2010\Projects\sfml-app\Debug\sfml-app.exe : fatal error LNK1120: 3 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

 

I follow the tutorial but don't toke an great result, can anyone help me?



Sponsor:

#2 Cornstalks   Crossbones+   -  Reputation: 6882

Like
0Likes
Like

Posted 26 February 2013 - 05:27 PM

When you created the project, did you select "Console Application"? Because if you didn't (that is, if you chose "Windows Application"), the tutorial says:

If you chose to create a "Windows application" project, then the entry point of your code has to be the "WinMain" function instead of "main". Since it's Windows specific, and your code would therefore not compile on Linux or Mac OS X, SFML provides a way to keep a standard "main" entry point in this case: link your project to the sfml-main module ("sfml-main-d.lib" in Debug, "sfml-main.lib" in Release), the same way you linked sfml-graphics, sfml-window and sfml-system.


Edited by Cornstalks, 26 February 2013 - 05:28 PM.

[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

#3 MisteRnoOrOnha   Members   -  Reputation: 241

Like
0Likes
Like

Posted 26 February 2013 - 05:42 PM

Then is better i create an console application? CLR Console Application at VS2010?



#4 Nercury   Crossbones+   -  Reputation: 766

Like
0Likes
Like

Posted 26 February 2013 - 05:48 PM

Then is better i create an console application? CLR Console Application at VS2010?

 

Avoid CLR: CLR is Common Language Runtime, it is for coding .NET applications with C++.

Why not make an empty project, add main.cpp file with main method, and link your project with sfml-main.lib as it says in doc.


Edited by Nercury, 26 February 2013 - 05:50 PM.


#5 Cornstalks   Crossbones+   -  Reputation: 6882

Like
0Likes
Like

Posted 26 February 2013 - 05:53 PM

Then is better i create an console application? CLR Console Application at VS2010?

It doesn't really matter (console application vs windows application), so long as you follow the directions in the tutorial. An empty, plain console application will probably be a little bit simpler. And as Nercury says, stay away from the CLR (unless you know what it is and you know you want it).


[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

#6 MisteRnoOrOnha   Members   -  Reputation: 241

Like
0Likes
Like

Posted 26 February 2013 - 06:07 PM

I created an new window projected and linked libraries(sfml-main.lib too) and i toke this errors:

 

1>------ Build started: Project: sfml-app, Configuration: Debug Win32 ------
1>  main.cpp
1>main.obj : error LNK2001: unresolved external symbol "public: static class sf::RenderStates const sf::RenderStates::Default" (?Default@RenderStates@sf@@2V12@B)
1>main.obj : error LNK2001: unresolved external symbol "public: static class sf::Color const sf::Color::Green" (?Green@Color@sf@@2V12@B)
1>c:\users\sandra\documents\visual studio 2010\Projects\sfml-app\Debug\sfml-app.exe : fatal error LNK1120: 2 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Edited by MisteRnoOrOnha, 26 February 2013 - 06:17 PM.


#7 Cornstalks   Crossbones+   -  Reputation: 6882

Like
0Likes
Like

Posted 26 February 2013 - 06:49 PM

Are you sure that your debug configuration (the one you're trying to build with right now) is linking to the debug version of the libraries (the ones ending with -d)?

 

Are you trying to statically link to SFML? If so, are you linking to the -s version of the libraries, and are you adding SFML_STATIC to your preprocessor definitions?

 

There are several ways to set up a project that uses SFML, and the tutorial talks about many of them. It would help a ton if you said exactly what you've done and how you've set up your project (maybe take screenshots of each configuration option). How are you linking? What are you linking to? What, if any, preprocessor definitions have you added? The devil is in the little details, and it without knowing the exact details we're just stuck here shooting in the dark.


[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

#8 MisteRnoOrOnha   Members   -  Reputation: 241

Like
0Likes
Like

Posted 27 February 2013 - 12:50 PM

Problem solved thanks Cornstalks and Nercury.



#9 Cornstalks   Crossbones+   -  Reputation: 6882

Like
0Likes
Like

Posted 27 February 2013 - 12:54 PM

Problem solved thanks Cornstalks and Nercury.

It would be great if you could share what you did to solve it for any future people who find this thread via Google.
[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

#10 MisteRnoOrOnha   Members   -  Reputation: 241

Like
0Likes
Like

Posted 27 February 2013 - 02:24 PM

I configured the Debug and Release to use the right lib's(sfml-xxx-d.lib for debug and sfml-xxx-s.lib for release) and then linked sfml-main.lib into linker settings. I added SFML_STATIC to Preprocessor.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS