SFML community forums
Help => General => Topic started by: GraphicsWhale on June 13, 2015, 05:40:57 am
-
I'm trying to compile SFML 2.3 with Visual Studio Community Edition (2015) and I'm getting weird compiling errors. This is limited to this particular version of MSVC as 2013 does not exhibit any compiler errors while trying to compile using the exact same process.
To compile, I went to command prompt, called vcvars32.bat, opened c-make gui, then setup selected the appropriate folders, then generated the project files. It compiles successfully for a few seconds before it starts spitting out errors.
And the errors listed include (but not limited to):
unresolved external symbol __iob_func_referenced in function_output_message
unresolved external symbol __iob_func
unresolved external symbol __vsnprintf_s
unresolved external symbol _vsnprintf_s referenced in function _local_vsnprintf
Here's a screenshot:
(http://i.imgur.com/NPUpKC3.png)
-
Its because VC14 broke the C runtime, so the C extlibs need to be recompiled.
-
How can I recompile them?
-
Go find their source and figure out how to compile them.
-
Its because VC14 broke the C runtime, so the C extlibs need to be recompiled.
Is anyone able to explain this with a small example? I am a bit confused as to what exactly it means.
-
Google for "universal crt".
For VS 2015RC there are also my "nightly" builds.
-
I googled "universal crt" and read the msdn article (thanks for this). I now see Microsoft redesigned the cruntime for Visual Studio 2015. This can be necessary because the cruntime is both compiler and platform specific.
Now to try and answer my own question. I downloaded the SFML source and I see there is a directory named extlibs with a subdirectory name libs-msvc. Now there are libs for both 32 and 64 bit Windows. These libraries were compiled with an older version of the cruntime library, so their in-place generation of some functions will be outdated. Hence the errors. You'd need to track down the flac, freetype, jpeg, ogg, openal32, vorbis, vorbisenc, and vorbisfile source and recompile it with VS2015. Then you can build SFML with VS2015.
I am fine using VS2013 for now. I just wanted to understand what was happening. That being VS2015 has been released (it's no longer a release candidate).
-
I am fine using VS2013 for now. I just wanted to understand what was happening. That being VS2015 has been released (it's no longer a release candidate).
Good to know. I'm.currently on vacation (hello Lisbon) and will look into preparing a new release when I get back. ;)
-
Still no news on the subject? I tried to build it myself with VS2015 but I failed :/
-
https://github.com/SFML/SFML/tree/feature/VS2015
http://en.sfml-dev.org/forums/index.php?topic=18642.msg135029#msg135029
-
Thank you Gambit ;)