Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Binaries for VC++ 2015  (Read 17076 times)

0 Members and 1 Guest are viewing this topic.

kullerhamPster

  • Newbie
  • *
  • Posts: 40
    • View Profile
Binaries for VC++ 2015
« on: September 06, 2015, 02:16:20 pm »
Hi there. Are there plans to include binaries for VC++ 2015 in the downloads for Windows? As the final version of VS2015 is released and available for download, I think these would be nice to have :)

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Binaries for VC++ 2015
« Reply #1 on: September 06, 2015, 02:18:19 pm »
It's a work in progress, see the feature/VS2015 branch on GitHub. It's a bit more complicated than you might think, because Visual Studio 2015 breaks compatibility to some C libraries.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

kullerhamPster

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: Binaries for VC++ 2015
« Reply #2 on: September 06, 2015, 02:59:22 pm »
It's a work in progress, see the feature/VS2015 branch on GitHub. It's a bit more complicated than you might think, because Visual Studio 2015 breaks compatibility to some C libraries.

Thanks for your reply and good to hear that you're already working on this :)

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Binaries for VC++ 2015
« Reply #3 on: September 06, 2015, 03:04:02 pm »
Just in case it wasn't clear: the linked branch contains binaries that should already work. I'm using Visual Studio 2015 myself (but I haven't tested all configurations yet).
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

kullerhamPster

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: Binaries for VC++ 2015
« Reply #4 on: September 06, 2015, 03:19:27 pm »
Just in case it wasn't clear: the linked branch contains binaries that should already work. I'm using Visual Studio 2015 myself (but I haven't tested all configurations yet).

No, I didn't get that - thanks for the clarification. :)

The question might be stupid, but where in this branch do I find the binaries you mentioned? I only found binaries of external libraries needed to build SFML itself.

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Binaries for VC++ 2015
« Reply #5 on: September 06, 2015, 03:27:41 pm »
Sorry, you're totally right. The branch only contains binaries for SFML's dependencies -- but they're much more difficult to recompile than SFML itself. So, if you have CMake, it shouldn't take long to get working VS 2015 binaries for SFML 2.3.

Otherwise, eXpl0it3r provides nightly builds for VS 2015 RC, I'm not sure if they're still compatible.
http://nightlybuilds.ch/compiler/show/19/Visual%20Studio-2015RC-32/

In addition, some community members have provided binaries for VS 2015, but as they're not official, we cannot guarantee that they work:
http://en.sfml-dev.org/forums/index.php?topic=18243
http://en.sfml-dev.org/forums/index.php?topic=17455

I would recommend using the latest SFML version from GitHub (2.3.x branch, with binaries from the other branch) rather than pre-built binaries. Like this, you can benefit from newest features and bugfixes, and can give us feedback to improve things right away 8)
« Last Edit: September 06, 2015, 03:30:07 pm by Nexus »
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

kullerhamPster

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: Binaries for VC++ 2015
« Reply #6 on: September 06, 2015, 03:48:21 pm »
Sorry, you're totally right. The branch only contains binaries for SFML's dependencies -- but they're much more difficult to recompile than SFML itself. So, if you have CMake, it shouldn't take long to get working VS 2015 binaries for SFML 2.3.

Otherwise, eXpl0it3r provides nightly builds for VS 2015 RC, I'm not sure if they're still compatible.
http://nightlybuilds.ch/compiler/show/19/Visual%20Studio-2015RC-32/

In addition, some community members have provided binaries for VS 2015, but as they're not official, we cannot guarantee that they work:
http://en.sfml-dev.org/forums/index.php?topic=18243
http://en.sfml-dev.org/forums/index.php?topic=17455

I would recommend using the latest SFML version from GitHub (2.3.x branch, with binaries from the other branch) rather than pre-built binaries. Like this, you can benefit from newest features and bugfixes, and can give us feedback to improve things right away 8)

Thank you. I'm glad I wasn't too stupid to find the binaries :D ;)

I just installed CMake and will see if I'm able to built SFML as you suggested :)

EDIT:
Building the binaries worked. I copied the folders cmake, extlibs, and src from the VS2015 branch to the 2.3.x branch before running CMake and building.
Now I'll have to see if I the binaries are working :)
« Last Edit: September 06, 2015, 04:10:12 pm by kullerhamPster »

kullerhamPster

  • Newbie
  • *
  • Posts: 40
    • View Profile
Re: Binaries for VC++ 2015
« Reply #7 on: September 06, 2015, 04:18:10 pm »
Oh yeah, they work :D
This was easier than expected.

Thank you for you help, and thanks for the good documentation and tutorials here on this site :)

Khatharr

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Binaries for VC++ 2015
« Reply #8 on: September 28, 2015, 07:36:01 pm »
Hey, I'm trying to compile statics and I'm getting a couple linker errors. I can't seem to resolve them by pulling in the rebuilt deps that people are suggesting, so I'm wondering if I'm missing a dep or something.

I'm using VS2015 on Win7 Ultimate x64 (all of my build stages are x86).

The contents of my lib folder are as follows:
(click to show/hide)

This is the file I use for linking, which gets included once at the entry point:
(click to show/hide)

And this is my build output:
(click to show/hide)

I've tried getting the extlibs from eXpl0it3r's repo, but they appear to match the binaries that are included with the SFML source. (I tried them anyway and got the same errors.) I tried following the link posted by Nexus here, but it's a dead link.

In case it's relevant, my CMake config is as follows:
(click to show/hide)

Any help or advice would be greatly appreciated.
« Last Edit: September 28, 2015, 07:44:01 pm by Khatharr »

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11034
    • View Profile
    • development blog
    • Email
Re: Binaries for VC++ 2015
« Reply #9 on: September 28, 2015, 07:43:54 pm »
Download the latest binaries from the website, they've been updated a day ago.

Additionally I suggest you don't use pragma comment for linking. It's not your source codes job to link, but your build system, i.e. your project file.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Khatharr

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Binaries for VC++ 2015
« Reply #10 on: September 28, 2015, 07:49:02 pm »
Thank you for the speedy response. Those build but I get pdb errors as follows:
(click to show/hide)

Would rebuilding them with CMake help this?

Edit: Rebuilding from CMake still gives the link errors. Is the source release not updated yet? It would be helpful if the download links were dated.
« Last Edit: September 28, 2015, 08:02:49 pm by Khatharr »

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11034
    • View Profile
    • development blog
    • Email
Re: Binaries for VC++ 2015
« Reply #11 on: September 28, 2015, 08:51:31 pm »
Notice that warnings and errors are a different thing. ;)
Yes, you get warnings always have, because we don't provide the pdb files. It won't help you either if you build from source with CMake, because the pdb files aren't created properly and are not installed either.

And yes, the source code is not yet uptodate, because the VS 2015 builds were created after SFML 2.3.2 had been released by using the feature/vs2015 branch.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Khatharr

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Binaries for VC++ 2015
« Reply #12 on: September 28, 2015, 09:21:05 pm »
Not sure if you caught my very subtle request or not, so I'll state it explicitly:

In the future please compile libs without static pdb paths, as it causes problems for end-users.


eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11034
    • View Profile
    • development blog
    • Email
Re: Binaries for VC++ 2015
« Reply #13 on: September 28, 2015, 09:26:48 pm »
And how does one do that?
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Khatharr

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Binaries for VC++ 2015
« Reply #14 on: September 28, 2015, 09:35:15 pm »
Setting the Debug Information Format to C7 Compatible will prevent generation and references to pdb files. Alternatively, ensuring that the Program Database File Name is set to a non-static path should fix it, but "things happen".

The pdb files are only relevant if users want to actually step into the SFML code files from the debugger, so the /Z7 option may be the better method since not many users actually have the SFML code laying around in the correct locations for the debugger to open and step into.

Image is attached showing the location of the option in the IDE.

Note that this is only relevant in debug builds. If the /DEBUG flag isn't on then pdb's aren't generated. I think it may disable the /Gm option, which is part of minimal rebuild, but since you're building libs that's not really relevant for the final product.

Edit: After reviewing the C7 option, it turns out that it just embeds the symbol information in the lib itself rather than in a separate file, so you're actually not losing any debug capability by going that route.
« Last Edit: September 28, 2015, 09:57:39 pm by Khatharr »