Page 1 of 1

unable to use magick++

Posted: 2008-07-01T08:03:16-07:00
by Clem
Hi,

I'm loosing my time searching the correct way to have a valid and functional version of the magick++ api...

- first, i have tried with the "ImageMagick-6.4.2-0-Q8-windows-dll.exe" : nice i've got the ".h", ".lib" and ".dll". But unfortunetely, i think because my project is a dll, the program crashes when using the magick's dlls through my dll.

- second, i have tried to compile the .dlls by myself, changing some parameters, trying to make them compatible with my project, but since i use VC++ 2008 express edition, i've got "#include" errors at compile time because "afxwin.h" isn't present.

- third, i decide to download the microsoft platform sdk, to have this file (afxwin.h). Then i've got compilation errors because some symbols aren't well defined.

- forth, i decide to build a static version of magick++ (what i don't really want because i'm going to use magick++ in a lot of dlls, but whatever, i really need to continue my work !). I've got some errors during linking.

- fifth, i try to use "ImageMagick-6.4.2-0-Q8-windows-static.exe". It installs a static version of image magick, but hey ? where are the ".h" and ".lib" ?

So please, tell me how i can have a stable version of magick++ ! I'm not a newbee, while performing all these steps i have tried to change some parameters, searching in a lot of different way, modifying code... But now i'm exhausted, loosing 2 days on this library.
It is for a professionnal project and i really need help !
Perhaps someone can send me ".h", ".lib" and ".dll", compiled under microsoft VC++ 2005 or 2008 express and which are working !

Thank you in advance

Re: unable to use magick++

Posted: 2008-07-01T08:37:33-07:00
by magick
Download the binary distribution and install. Go to the install location and then the ImageMagick folder and then Magick++_demos (most likely c:\Program Files\ImageMagick-6.4.2-Q16\Magick++_demos. Now fire up the button workspace, build, and run. If that works you have a starting place for your own project.

Re: unable to use magick++

Posted: 2008-07-01T08:53:06-07:00
by Clem
Already done.

Only the dll version is comming with the api. In this version, the demos are executables (they compile and work fine). But i develop dlls. and I notice that it's not possible or quiete difficult to use magick++ dlls in a dll.

I give one last chance to this library, i'm going to try something else, let you know if it works. In other case I'm going to use an other one. If any one has heard about a library that can perform similar actions as those provided in magick++... And not CImg (cool image) since it comes on top of magick++. (At this point of the project, i only need to load/save images but the number of requested functionnalities might increase).

Clem

Re: unable to use magick++

Posted: 2008-07-01T09:18:55-07:00
by magick
Ok, good luck. Keep in mind that there are thousands of users of Magick++ that have managed to use it without complaint. Not sure why its failing for you. We are Linux developers and use Magick++ under Linux but unfortunately we have limited experience under Windows and cannot offer additional help.

Re: unable to use magick++

Posted: 2008-07-01T13:49:41-07:00
by koopa
Clem-

I too found it frustrating that there is little direction or examples given for Windows developers. Since I am a native embedded-systems developer, I have the double burden of not fully understanding Windows-specific problems as I encounter them.

That said, the underlying ImageMagick library has many users and a long development history. I'm betting that once we overcome the Windows issues we will find the library robust. If you do only need basic image access (especially if only one format), there are probably simpler alternatives. I am still struggling to define my own requirements.

Maybe you are encountering calling-convention or memory-model issues? Maybe you could start with a demo project and convert it to a DLL project? If you do overcome whatever this is, please document it for the Windows users that follow.

-Chris

Re: unable to use magick++

Posted: 2008-07-04T11:13:24-07:00
by rawsonl
I too have to do this same thing and am extremely frustrated. If a windows developer has done this I wish they would include a demo solution/project that is a dll project that calls magick++ dll and does something with it. It looks like a great product but I am lost....

Thanks,
Linda

Re: unable to use magick++

Posted: 2008-07-05T15:34:11-07:00
by koopa

:) Me too. Honestly, you'd think that this free software with its generous license would come already doing what I want, or at least with better (free) support. :wink:

Seriously, as an ImageMagick user of only two weeks I have had many frustrations. In fact, I have seldom had this much trouble getting started with a new package ( :x leaving me unflatteringly grumpy I'm sure :oops: ). Clearly most of ImageMagick's contributors don't develop on Windows, or even test on some common Windows configurations.

To be fair, ImageMagick has many interfaces and platforms to test. Also, it is a work in progress (which is overall a positive trait). And, as many open-source projects do, I'm betting that many alternates to ImageMagick have Windows issues too. For numerous reasons, Windows and open-source often don't mix easily.

For those who asked, yes (of course) there are good ImageMagick alternatives. They are easily found, and maybe I'll get around to listing a few I'm looking into later. But after reading many reviews, it couldn't be more clear that
  • No image package is best (fast, flexible, documented, etc.) in every way for every use
  • ImageMagick is on the short list of agreed general-purpose favorites

I still aim to find time for a post per day as I get these Windows issues sorted out. Hopefully others are making forward progress too and have tips to share.

-Chris
[/size]

Re: unable to use magick++

Posted: 2008-07-05T16:00:59-07:00
by magick
As mentioned, the ImageMagick developers do test the Magick++ demo programs provided with the distribution. We use Visual C++ Studio 2003, 2005, and 2008. We have not tried it with the Express kit yet. However, in the past most users that had problems with Magick++ resolved the problem by using one of the Magick++ demo projects as a template for there own project to ensure all the project compiler/linker settings are correct.