ermig1979 / AntiDupl

A program to search similar and defect pictures on the disk
https://ermig1979.github.io/AntiDupl
MIT License
1.26k stars 93 forks source link

How do I build this project? #117

Closed ProducerMatt closed 3 years ago

ProducerMatt commented 3 years ago

The commits show you added a feature since last release which I need. I've spent a couple evenings trying to get it compiled, with no results. I've never worked with Visual Studio before.

I was hoping you could describe the step-by-step process to create a working release. If that's already in the docs somewhere then I missed it :/

If I build src/AntiDupl/AntiDupl.sln with Release/Any CPU, I get a release binary which starts and makes a "user" directory, but never any graphics.

If I try to build src/AntiDuplWPF, I get errors which seem to be related to Blend 4.5 SDK. Such as:

The tag 'Interaction.Behaviors' does not exist in XML namespace 'http://schemas.microsoft.com/expression/2010/interactivity'

But installing Nlend SDK as well as Nuget packages for them never solves the problem.

Hopefully this is just a n00b problem.

Alternatively, if you posted a new release with the latest updates, I wouldn't have to build it at all :P

heinrichI commented 3 years ago

src/AntiDuplWPF, - you need install NuGet package https://www.nuget.org/packages/System.Windows.Interactivity.WPF/

ProducerMatt commented 3 years ago

Thank you for responding!

With package, I can now compile WPF! But when running, it gives the error "can't load core library! Can't load AntiDupl32.dll" I notice the AntiDupl32 solution is not compiling because of "cannot open file Simd32.dll".

Looking around, it looks like Simd as well as libWebP project are not compiling in WPF and standard project. the projects seem to expect different organization from the dependencies then are actually there.

For example. WPF expects a project file that isn't there (src\3rd\Simd32.vcxproj) despite having fetched the dependencies, and used the copy script "Checkout Simd.bat". Exploring the Simd folder I found the project files in a different directory, with a different naming scheme (src\3rd.git\Simd\prj\vs2019). I can make the AntiDupl project load this new project file, but it then gives the error C1083 Cannot open include file: 'Simd/SimdConfig.h': No such file or directory.

I was wondering if I got the dependencies incorrectly. I had just used git clone --recursive on the original repo and it fetched Simd and libwebp.

What profile (win32 vs mixed platforms, etc) should I be using?

heinrichI commented 3 years ago

Are you trying to build a project out of interest or do you want to add or change something?

ProducerMatt commented 3 years ago

I have some animated WebP files that I want to deduplicate. Last release (March) doesn't read animated WebP correctly. I noticed there were some WebP-related patches added on the repo since then. So I wanted to see if those patches fixed the problem. 😬