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

Author Topic: Win XP compatibility ?  (Read 3145 times)

0 Members and 1 Guest are viewing this topic.

HornetMaX

  • Newbie
  • *
  • Posts: 12
    • View Profile
    • Email
Win XP compatibility ?
« on: October 20, 2016, 09:30:47 am »
Hi all,
I've been using SFML for long time to build a dll that is used as a plugin by a game (http://www.gp-bikes.com/). I only use the joystick-related features. At the moment I'm using SFML 2.3.2 with Visual Studio 2015 (game is Windows only).

Recently I've got players using the game and the plugin on Windows XP (!!) telling me the plugin doesn't work (the game does, of course). I thought I nailed the problem down to the fact that I've moved to VS 2015 and here I was using the default toolset (v140) instead of the xp-friendly one (v140_xp). So I fixed that but the plugin still doesn't work for players on XP.

Question: I'm linking (statically) my dll to SFML pre-compiled libs. Could this be troublesome ? Should I recompile SFML myself (with the v140_xp toolset) ?

Thanks !

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10815
    • View Profile
    • development blog
    • Email
AW: Win XP compatibility ?
« Reply #1 on: October 20, 2016, 09:45:51 am »
Yes, the VS 2015 binaries are not built with the v140_xp toolchain, so you should rebuild SFML.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

HornetMaX

  • Newbie
  • *
  • Posts: 12
    • View Profile
    • Email
Re: Win XP compatibility ?
« Reply #2 on: October 20, 2016, 11:39:41 am »
Thanks, I'll give it a try. But I suspect I'll run into difficulties and I'll end up telling the few XPers to upgrade to Vista or something :).

HornetMaX

  • Newbie
  • *
  • Posts: 12
    • View Profile
    • Email
Re: Win XP compatibility ?
« Reply #3 on: October 22, 2016, 05:26:40 pm »
OK, I managed to compile SFML (went smoother than I expected).
But I still have the problem: the plugin .dlo is somehow ignored when the game runs on XP systems.

I'm linking the static libs (smfl-window-s.lib;sfml-system-s.lib;opengl32.lib;winmm.lib;gdi32.lib;XInput.lib): could this be a source of troubles ?

P.S.
I've made a simplified version of my plugin that does not use SFML and it works fine on XP (at least when compiled with toolset v140_xp), so it looks like the trouble appears when I want to use SFML.

Mario

  • SFML Team
  • Hero Member
  • *****
  • Posts: 878
    • View Profile
Re: Win XP compatibility ?
« Reply #4 on: October 23, 2016, 09:35:45 am »
The libraries starting with "sfml" should be compiled/linked by you when building SFML. Are you the right ones are picked up after building (and installing)?

HornetMaX

  • Newbie
  • *
  • Posts: 12
    • View Profile
    • Email
Re: Win XP compatibility ?
« Reply #5 on: October 23, 2016, 11:21:44 am »
The libraries starting with "sfml" should be compiled/linked by you when building SFML. Are you the right ones are picked up after building (and installing)?
Yes, I've re-built SFML (both static and dynamic versions, into two separate build dirs) using the v140_xp toolset. The target install dir is the same for both static and dynamic versions, so in the end I have a single install dir with both static and dynamic versions of SFML libs. I've also built the examples and they work fine.

My own dll using SFML is using the SFML install dir I've created, I'm sure (easy to check: renaming the install dir, iIget a compile time error when including a SFML .h).

HornetMaX

  • Newbie
  • *
  • Posts: 12
    • View Profile
    • Email
Re: Win XP compatibility ?
« Reply #6 on: October 24, 2016, 12:17:42 pm »
OK, I did a simple test: I compiled SFML with v140_xp toolset (static SFML libs), including the examples and I've sent one example .exe to the person running XP and it runs fine.

So I guess everything is OK on SFML side and the issue must be somewhere in my own dll (or in the game itself).

Thanks for the help !