Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Packaging an application that uses the ImageMagick C API

I've created a little Windows app that uses the ImageMagick C API but have run into a bit of a brick wall. The app works fine and I'm ready to share it with a few others in our organisation but I can't find documentation on distributing such an app without installing ImageMagick on the target machine.

Does anyone here have information, or a link to information, that details how to package this up for distribution? What DLLs are required and which one(s) need to registered with Windows? The target users will be on a mix of XP and Win7.

like image 942
John Gardeniers Avatar asked Jun 16 '10 02:06

John Gardeniers


1 Answers

I had to do something similar, though I built Imagemagick myself so I could trim the fat. What you can do is on your machine, install the dlls using the exe they provide. In the install process, make sure you check the box that says install C and C++ development headers and libraries.

The install dir will then contain the headers in the include directory, and dlls throughout the tree. You will find libs that you need to link against in lib. There are a ton of dlls though, which makes this a bit of a problem.

What I ended up doing when I built was just create a single ImageMagick dll and a .lib file to link against. I created my own project from the source and built a dll. Then you can ship the dll and the lib you create with the headers from source.

EDIT: I should also state that the install process only occurs on your machine. You can then copy the dlls/libs/headers from the install path and ship them with your package, rather than requiring the user to install anything but your app.

like image 198
NG. Avatar answered Sep 21 '22 04:09

NG.