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

Author Topic: x86 using x64 dependences  (Read 1175 times)

0 Members and 1 Guest are viewing this topic.

david23.7

  • Newbie
  • *
  • Posts: 2
    • View Profile
    • Email
x86 using x64 dependences
« on: September 21, 2013, 10:45:50 pm »
Hi, My development machine is a x64 and I've compiled on the visual c++ express 2010 to x86. Packed the software with the dependences mvscr100.dll and mvscp100.dll from my folder /system32.
When executed in another computer without vcredist installed(just the dlls are in the same folder) returns: "The application was unable to start correctly (0xc000007b)".

But, I've made a test using the msvcr100.dll that I have in /SysWoW64, and the software run!
What's happening? The target in visual c++ is Win32, and the vs2010 is x86.
I used the dependency walker and it points to system32/msvcr100.dll

My concepts can be wrong, but when I compile for x86, the dependencies should be x86 too, right?


(PS: I'm using sfml 2.1 x86 for vs2010)

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10880
    • View Profile
    • development blog
    • Email
Re: x86 using x64 dependences
« Reply #1 on: September 21, 2013, 11:01:25 pm »
Microsoft must have found it funny, but on x64 systems, the x64 binaries are located in system32, while the x86 binaries can be found in the SySWoW64 directory.

BUT Microsoft essentially doesn't allow you to distribute those DLLs, instead you have to install the respective redistributable package on the target PC. ;)
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

david23.7

  • Newbie
  • *
  • Posts: 2
    • View Profile
    • Email
Re: x86 using x64 dependences
« Reply #2 on: September 22, 2013, 12:05:16 am »
Microsoft must have found it funny, but on x64 systems, the x64 binaries are located in system32, while the x86 binaries can be found in the SySWoW64 directory.

BUT Microsoft essentially doesn't allow you to distribute those DLLs, instead you have to install the respective redistributable package on the target PC. ;)

well, thanks for your reply, I'm feeling cheated by microsoft(but, that's my fault too not read about the windows folders) .

And thanks for additional information about the vcredist , so, I think now it's time to migrate to the MinGW/GCC...