d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Making An Application Compatible For X86 And X64 > Machines?
12Next
Add Reply New Topic New Poll
Member
Posts: 1,358
Joined: Dec 30 2012
Gold: 0.10
Mar 14 2013 05:09pm
Topic. I've developed a program on my 64 bit machine in Visual Studios 2012. When I install the program on either a 32 or 64 bit machine and try to run it, it will just fail most of the time and return an error that says something like- "The program failed to run because msvc110d.dll is missing from your computer." I'm assuming this is a compatibility issue. Of course I could manually install whatever DLLs are missing or the visual studios redistributable pack but that's just annoying as hell and don't want to have to do that.

So I guess my questions are: Is it possible to make my 64bit application compatible on a 32bit machine and how can I do this so that I don't have to manually install any files or packs every time I put it on a new machine?
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Mar 14 2013 05:36pm
what language is this? if it's C#, they need to have the .NET framework installed. you can always add the installer with yours. the VM should take care of any x64 vs x86 differences

Quote
When I install the program on either a 32or 64 bit machine and try to run it, it will just fail most of the time


if it's also failing on a x64 then i dont think it has to do with 32 vs 64

This post was edited by carteblanche on Mar 14 2013 05:37pm
Member
Posts: 1,358
Joined: Dec 30 2012
Gold: 0.10
Mar 14 2013 05:42pm
Quote (carteblanche @ Mar 14 2013 03:36pm)
what language is this? if it's C#, they need to have the .NET framework installed. you can always add the installer with yours. the VM should take care of any x64 vs x86 differences



if it's also failing on a x64 then i dont think it has to do with 32 vs 64


c++

Yeah it failed on a 64 bit machine. Think it could have anything to do with third party libraries? In this case, libcurl.
Member
Posts: 13,425
Joined: Sep 29 2007
Gold: 0.00
Warn: 20%
Mar 14 2013 08:44pm
Quote
So I guess my questions are: Is it possible to make my 64bit application compatible on a 32bit machine and how can I do this so that I don't have to manually install any files or packs every time I put it on a new machine?


cant tell if im reading this wrong or insanely stupid question.

you can not make a 64bit application work on a 32bit machine. it simply is not possible (thats why you see many distributors of major applications provide both 32bit and 64bit for download.)

although on the other hand 32bit can successfully run on 64bit machines.

Quote (SelfTaught @ Mar 14 2013 07:42pm)
c++

Yeah it failed on a 64 bit machine. Think it could have anything to do with third party libraries? In this case, libcurl.


do you have both the 64bit and 32bit versions of libcurl libraries? i know in linux there are 2 separate libraries.

i say just compile to 32bit consoles if you do not want to release 2 separate binaries.

This post was edited by AbDuCt on Mar 14 2013 08:44pm
Member
Posts: 9,803
Joined: Jun 28 2005
Gold: 6.67
Mar 15 2013 03:24am
You can compile the library into the library. Check out static linking for your compiler. Be aware, though, that this solution is far from perfect and produces huge executables.
Member
Posts: 1,358
Joined: Dec 30 2012
Gold: 0.10
Mar 15 2013 03:35pm
Quote (AbDuCt @ Mar 14 2013 06:44pm)
cant tell if im reading this wrong or insanely stupid question.

you can not make a 64bit application work on a 32bit machine. it simply is not possible (thats why you see many distributors of major applications provide both 32bit and 64bit for download.)

although on the other hand 32bit can successfully run on 64bit machines.



do you have both the 64bit and 32bit versions of libcurl libraries? i know in linux there are 2 separate libraries.

i say just compile to 32bit consoles if you do not want to release 2 separate binaries.


It was probably just an insanely stoopid question xD

I'm not sure if I am using just one or the other. I downloaded the release at the top of the downloads page and it doesn't specify.

But regardless, I got it to run on both 32 and 64 bit. I just had to download the Visual C++ Redistributable for the corresponding machine.

However, I don't want to have to do this every time I install it on a machine. Is there a way around this, such as including something in my source or having the program automatically install the redistributable when the program is run for the first time?

This post was edited by SelfTaught on Mar 15 2013 03:36pm
Member
Posts: 13,425
Joined: Sep 29 2007
Gold: 0.00
Warn: 20%
Mar 15 2013 04:20pm
Quote (SelfTaught @ Mar 15 2013 05:35pm)
It was probably just an insanely stoopid question xD

I'm not sure if I am using just one or the other. I downloaded the release at the top of the downloads page and it doesn't specify.

But regardless, I got it to run on both 32 and 64 bit. I just had to download the Visual C++ Redistributable for the corresponding machine.

However, I don't want to have to do this every time I install it on a machine. Is there a way around this, such as including something in my source or having the program automatically install the redistributable when the program is run for the first time?


as someone else said you can try compiling a static library.

i personally use the gnu gcc and try to stay away from ms compilers in general.
Member
Posts: 1,358
Joined: Dec 30 2012
Gold: 0.10
Mar 15 2013 04:22pm
Quote (AbDuCt @ Mar 15 2013 02:20pm)
as someone else said you can try compiling a static library.

i personally use the gnu gcc and try to stay away from ms compilers in general.


Alright I'll look into this
Member
Posts: 1,358
Joined: Dec 30 2012
Gold: 0.10
Mar 15 2013 11:33pm
Quote (AbDuCt @ Mar 15 2013 02:20pm)
as someone else said you can try compiling a static library.

i personally use the gnu gcc and try to stay away from ms compilers in general.


Would you have any idea how to compile libcurl statically? I can't find any guides or documentation on how to do this and, I've never compiled a static library before.
Member
Posts: 13,425
Joined: Sep 29 2007
Gold: 0.00
Warn: 20%
Mar 15 2013 11:39pm
Quote (SelfTaught @ Mar 16 2013 01:33am)
Would you have any idea how to compile libcurl statically? I can't find any guides or documentation on how to do this and, I've never compiled a static library before.


ive only ever compiled it statically on linux and it was a bitch. i had to make and install it without some of its modules and then link specific libraries via command line along with the -static flag.

try poking your head around stackoverflow or try to find a static compile option in your IDE

edit:: when you static compile you need static libraries linked to your project. its a pain in the ass tbh.

This post was edited by AbDuCt on Mar 15 2013 11:40pm
Go Back To Programming & Development Topic List
12Next
Add Reply New Topic New Poll