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

Author Topic: Compatibility to other computers  (Read 14520 times)

0 Members and 1 Guest are viewing this topic.

Avency

  • Full Member
  • ***
  • Posts: 113
    • View Profile
Compatibility to other computers
« Reply #15 on: April 20, 2008, 05:09:55 pm »
No, no, you got me all wrong.
You need to make a difference between linking sfml statically and linking the VC static runtime. Two completely different things.
Both (dll and static) versions of sfml are build with /MD and are linked against the dynamic runtime, so your application will have to be build using the same option, choosing either to link with sfml-dll or sflm-static (which again depends on your linker input).
There is nothing wrong with static linking in general. :wink:

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6286
  • Thor Developer
    • View Profile
    • Bromeon
Compatibility to other computers
« Reply #16 on: April 20, 2008, 06:05:17 pm »
Thanks for the declaration. I think this means having only one execution file without additional DLLs or something isn't possible while using SFML. You always have to add CRT files.

Another question: ;)
You told me I would have to download the redistributable for computers without VC++. I didn't do so and my apps still worked. So is there no use of the redist in general or did I just have luck (my apps aren't too complex atm)?
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Avency

  • Full Member
  • ***
  • Posts: 113
    • View Profile
Compatibility to other computers
« Reply #17 on: April 20, 2008, 07:20:37 pm »
Quote
I think this means having only one execution file without additional DLLs or something isn't possible while using SFML. You always have to add CRT files.

You could try to recompile sfml with /MT, but I never tried this.
Quote
You told me I would have to download the redistributable for computers without VC++. I didn't do so and my apps still worked. So is there no use of the redist in general or did I just have luck (my apps aren't too complex atm)?
Your target computer probably has them already installed (vista comes with them out of the box).

And stop worrying about those redists.
Most computers already have them installed.
If this is not the case you could tell the user to download them or you provide them along with your application.
Think about it:
There are applications that need the .Net-framework, which is much bigger.
Still it has to be installed in order to run them.

workmad3

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Compatibility to other computers
« Reply #18 on: April 20, 2008, 08:09:28 pm »
No, all it means is that no matter what way you link to SFML (either static or dynamic), you should still link to the C++ runtime library (MSVCRT) dynamically (using the multithreaded DLL).

The other option would most likely be to see if you can build the SFML library (either statically or dynamically, or both :)) using the static MSVCRT, and then link using the same with your application. Don't mix libraries built with the MSVCRT dll with libraries built with the static MSVCRT

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6286
  • Thor Developer
    • View Profile
    • Bromeon
Compatibility to other computers
« Reply #19 on: April 20, 2008, 08:12:05 pm »
Ok, thank you for all the informations, and sorry for being so curious ;)
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

workmad3

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Compatibility to other computers
« Reply #20 on: April 20, 2008, 08:16:37 pm »
Oh, and for your other question. It probably means you got lucky and the machines you tried your app on happened to have the redistributable already installed :)