SFML community forums
Help => General => Topic started by: beauxq on December 20, 2014, 06:54:16 pm
-
Code::Blocks 13.12
TDM-GCC TDM64 MinGW-w64 4.9.2 64-bit
SFML GCC 4.9.2 MinGW (SEH) - 64-bit
Windows 7 64-bit
Just following the instructions on this tutorial page: http://www.sfml-dev.org/tutorials/2.2/start-cb.php
it compiles and runs and says
sfmltest.exe - Application Error
The application was unable to start correctly (oxcooooo7b). Click OK to close the application.
-
Googling the error (which you should have already done), I found that one cause could be a 32-bit/64-bit clash.
Are you sure your OS, compiled code, and the libraries that you're including are all equal?
If you are sure, read the rest of this article (http://www.solveinweb.com/solved-the-application-was-unable-to-start-correctly-0xc000007b-click-ok-to-close-the-application/) (it was the first result I got from googling that error). It could give you some clues.
-
I suspected that. That's why I posted my compiler version and SFML version - both 64 bit.
What else could i be missing that might be trying to use 32-bit?
-
I compile other code in the same environment and it works fine.
It's just when using SFML, that I get this problem.
-
If i use a 4.7.1 compiler, then I can get SFML to work, following the same tutorial.
But for what i want to do, I need 4.9.2
-
Are you sure that your SFML libraries are also the 64-bit version? If the problem only occurs when SFML is involved, it's worth checking for certain that they are the exact version required.
Did you read that article that I linked? It suggests many other possible solutions, such as reinstalling IDE or running as admin.
-
I just discovered that if I purposefully mix wrong versions, it works.
I put the
4.9.2 64-bit compiler together with the
4.7.1 32-bit SFML,
and the program ran correctly.
I guess I could keep trying to use it like that. I don't know what problems I might come across later from mixing them.
But I can't find any way to get the 4.9.2 SFML to work.
-
Did you accidentally put an -m32 switch when building your app, making it behave as 32bit compiler?
-
iirc, TDM-GCC doesn't provide a SEH version of the compiler, only SJLJ and DW2, I think that's the reason here. You should just try compiling SFML yourself.
-
It does use SEH in 64bit mode: http://tdm-gcc.tdragon.net/quirks
I would clean the system and then only install one version of the compiler, library, dlls.
-
It does use SEH in 64bit mode: http://tdm-gcc.tdragon.net/quirks
I guess there's an error then on the SFML download page. The TDM 4.8.1 x64 is using SEH.
Will fix it later today.
As for topic: Either use the builds that 100% match your compiler OR build from source, everything else will fail sooner or later.