I have written a couple applications that Work great on 32-bit but crash on open in 64-bit. They are all compiled against "any CPU" but even when I compile them for 64-bit they still crash on 64-bit windows.

both of these applications rely on 3rd party Dlls, some native dlls and some .net dlls.

I don't have a 64 bit system to develop on, but I have a friend with a 64 bit system that tests my applications for me.

Does a 64 bit application need to be compiled on a 64 bit system? or is it problems with my code or its dlls that is breaking the apps?

Any ideas, I've never really worked with 64-bit programming before.

Recommended Answers

All 7 Replies

I suspect it is something the 3rd party DLLs are doing. You can compile 64 bit applications on a 32 bit machine with no issues (at least I've never had any).

I imagine if I attempted to debug them on a x64 computer it would show me what's going wrong? or not?

I suggest you to debug it in a 64-bit machine to make the dlls for it

A year or two ago I had a problem with DirectX audio. They did not have a 64 bit release.
This could be the case for your third party DLLs depending on their age.
A solution is to have the main app compiled in 32bit (rather than any CPU) then it only looks for 32bit dlls etc.
Its a quick solution but it could save alot of time and money.

I'm not privy to much information involving 64-bit. So let me clarify.

If I compile as x86 exclusive, it will still run on 64-bit?

In most cases, yes. There are some 32 bit DLLs that don't work on 64 bit systems.

One of the applications I was having a problem with used the Managed DirectX.dll for joystick functionality. Building it as x86 made it work in 64-bit. Thanks!

I believe working with the other apps I might find the same solution. Thanks for all the help!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.