Build allegro 5 for Windows XP
Asked Answered
S

1

1

I've spent all day looking for answers. I haven't found one that works, so im posting a question and asking the great stackoverflow.

I have an allegro 5 application that needs to run on a windows xp 32bit machine.

Ive made this application in VS C++ 2012. Ive tried to buld the project with the platform toolset vs 2012 windows xp (v110_xp), this didn't work.

the problem is that when I try to run the .exe in XP i get a:

"the procedure entry point GetTickCount64 could not be located in the dynamic link library KERNEL32.dll"

Im pretty positve that this is because of the allegro 5 library.
I can't seem to figure out to work around this.

Im thinking I have to rebuild allegro 5 for use with windows xp?

What do you all think it is? Any help is much appreciated.

Thanks, Sonny.

Stagehand answered 9/3, 2013 at 4:32 Comment(7)
Allegro does not call that function directly. Does your code? Are you using any other libraries?Canister
Yes I am using another library, but that library works with the XP version. No I am not calling that function directlyStagehand
Did you build Allegro yourself?Canister
no i got the built version from sourceForgeStagehand
SF doesn't have any prebuilt ones... do you mean allegro.cc? It's possible that one of the third party libraries use that function. Linking only against the leanest (non monolith) core Allegro lib should allow you to test that.Canister
I've changed the the libraries to only the ones I need, and I get a similar saying now except this one says that It cannot find the entry point EnumSystemLocalesEx. Using dependency Walker it always points to Kernel32 that the allegro dll use.Stagehand
Well, I don't know what to say other than I'm pretty certain that Allegro works fine on Windows XP. So if you build it yourself, it should work.Canister
C
1

You need to take extra effort to build for Windows XP using Visual Studio 2012. See this blog post for more information. If you build Allegro yourself, you could probably get it to target Windows XP if you follow those steps.

Your other options to support Windows XP are to use MinGW or an older version of MSVC.

Canister answered 13/3, 2013 at 1:22 Comment(4)
I found this article before and followed the directions but still I get the error about not finding the entry point GetTickCount64 in the Kernel32.dllStagehand
Another thing, I did get the prebuilt allegro 5 version from your website allegro.cc, So going back to my previous comment. No i did not build allegro 5 myself. So what your saying is that if I build allegro 5 on XP then it should be fine?Stagehand
If you build Allegro 5 with MSVC 10 it will work, regardless if you use Windows XP or Vista or 7 or 8 to build it. I'm assuming the problem is that the Allegro 5 libraries that you downloaded were not built using those XP instructions, so no matter what you do, those pre-built binaries for MSVC 11 will not work on XP.Canister
So did you succeeded in building monolith dll with XP support?Conciliate

© 2022 - 2024 — McMap. All rights reserved.