How to build 64 bit version

Main development forum.

How to build 64 bit version

Postby MartHugh » Tue Aug 20, 2013 9:08 am

I have downloaded
/stable/2.14.0/WinMerge-2.14.0-src.zip
and unzipped it and loaded WinMergeX64.sln into Visual Studio 2008.

The default setting are for Win32, and this seems to build OK.

However, what I need is a 64 bit version of the program.
if I change the solution platform from Win32 to x64 the following is output


1>------ Skipped Rebuild All: Project: expat ------
1>
2>------ Skipped Rebuild All: Project: pcre ------
2>
3>------ Skipped Rebuild All: Project: MergeLang ------
3>
4>------ Skipped Rebuild All: Project: scew ------
4>
5>------ Skipped Rebuild All: Project: Merge ------
5>
========== Rebuild All: 0 succeeded, 0 failed, 5 skipped ==========

What am I missing?
Thanks
MartHugh
 
Posts: 1
Joined: Tue Aug 20, 2013 9:00 am

Re: How to build 64 bit version

Postby thebunnyrules » Mon Jan 23, 2017 1:05 pm

I've hit a brick wall with the X64 version with linker issues but I'll try to advise you as best I can:

First, set aside you 32bit build and start with a fresh set of code. Open MergeX64.sln. don't build everything in one shot. Do a batch build (it's several rows under batch build in VS2008). Whatever version you select at this point, you have to be consistent all the way to the end.

I've had the best luck with Release / X64. Start by building screw, expat, then pcre. You then can build merge and merge lang. After these builds, you can browse to the explorer shell extension project folder and select the x64 sln (x32 plugin won't work even if you run the x32 build). I had some issues compiling the plugin but they were very easy to resolve, the linker couldn't find xyz.lib, do a search for the file on your PC and add the path to it's folder in your VC++ directories under libraries (be sure you pick one of the amd64 paths). You don't to compile an installer for your own use. Just compress everything when you're done and run it like a portable app. To get explorer context menu, open a command prompt in your WinMerge folder and run:

regsvr32 ShellExtensionX64.dll

Open WinMerge, go to options and activate the shell extension

Now I've personally haven't got passed compiling merge, I keep hitting this linker error which I know due to a reference to a library that isn't there, the problem is the errors are very vague and give no hint as to what library is missing. I just decided to stick with the 32bit build as it will be unlikely that I need to compare text files that will take up more that 4GB of RAM anyway.

I hope you have the best of luck with it. Take care.
thebunnyrules
 
Posts: 4
Joined: Wed Jan 18, 2017 4:43 am


Return to Developers

Who is online

Users browsing this forum: No registered users and 1 guest