Hello all !
I use CodeBlocks and read this forum since January 2007, but this is the first time I write here.
I am the project leader from a big open source project, an image editor as powerful as GIMP or Photoshop. It's name is
OVAT-Open Visual Arts Tool.
The project uses ImageMagick library as it's graphics engine. The problem is that there are only Visual C++ projects for compiling this library on Windows, and we want to use MinGW, because we want to use only open source tools.
One of our programmers created the project files using the program included on ImageMagick, and I imported it on CodeBlocks, changing the default compiler to MinGW. The only external library I had to include in this testing was
Ghostscript.
Everything compiles well until it reaches a certain point, and then many errors appear at linking time, all of them are "
undefined reference to..." Maybe the solution is simple, like linking a library, but I can't find what's wrong. The developers of ImageMagick doesn't like to support "unconventional" ways to compile their library, and they don't answer my questions on their forum. See the
topic I posted there.
I hope you can help me, because I waste almost two months trying to make it work.
Here is the "cake recipe":
Toolsgcc-core-3.4.5-20060117-1.tar.gz
gcc-g++-3.4.5-20060117-1.tar.gz
w32api-3.10.tar.gz
mingw-runtime-3.13.tar.gz
mingw32-make-3.81-2.tar.gz
binutils-2.17.50-20060824-1.tar.gz
gdb-6.6.tar.bz2
MSYS-1.0.10.exe
CodeBlocks (latest nightly build)
ImageMagick source (
get this file)
How to buildThe first thing needed is to run the configure script inside MSYS, because it automatically creates the file "magick-config.h" with the correct settings. I use the following commands:
cd /c/ImageMagick
$ ./configure --disable-shared --with-quantum-depth=16 --without-perl --without-modules --enable-delegate-build
Some other delegate libraries may also need the "configure" command. You will notice that if a message about missing headers appear during the compiling process. If it happens, just change the directory inside MSYS and type "configure".
Now the worse part. We need to create the Visual C++ projects, and then import it to CodeBlocks. Inside the folder
c:\ImageMagick\VisualMagick\configure\ there is a program. This program is used to create the project files. If you don't have Visual C++, or if you want to save time, you can download the Visual C++ project files from
here, or even better, you can download the ready-to-go CodeBlocks workspace and project files
here.
After all of the processes above, the last thing to do is to open the CodeBlocks workspace, activate the project "All" and choose the menu item "Build->Build Workspace".
Any help is welcome.
Thanks in advance.
Daniel Stein
OVAT Project Leader