I successfully built ImageMagick shared objects from source on Mac OSX, Linux 32 and 64 bit and 32 Windows XP. But can't get it to work on 64bit Windows 7.
I'm using MSYS and 64 bit build of MinGW from http://mingw-w64.sourceforge.net/.
6.7.3-2 source.
This is how I configure imagick:
Code: Select all
$ CFLAGS="-I`pwd`/../include" LDFLAGS="-L`pwd`/../lib" ./configure --prefix=`pwd`/.. --enable-static=no --enable-shared=yes --disable-installed --without-frozenpaths --without-x --without-magick-plus-plus
Code: Select all
Options used to compile and link:
PREFIX = /c/prefix/ImageMagick-6.7.3-2/..
EXEC-PREFIX = /c/prefix/ImageMagick-6.7.3-2/..
VERSION = 6.7.3
CC = gcc -std=gnu99 -std=gnu99
CFLAGS = -fopenmp -I/c/prefix/ImageMagick-6.7.3-2/../include -Wall
CPPFLAGS = -I/c/prefix/ImageMagick-6.7.3-2/../include/ImageMagick -D_DL
L -D_MT
PCFLAGS = -fopenmp -D_DLL -D_MT
DEFS = -DHAVE_CONFIG_H
LDFLAGS = -L/c/prefix/ImageMagick-6.7.3-2/../lib
MAGICK_LDFLAGS = -L/c/prefix/ImageMagick-6.7.3-2/../lib -L/c/prefix/ImageMagi
ck-6.7.3-2/../lib
LIBS = -lMagickCore -ljpeg -lpng15 -lfftw3 -lz -lgdi32 -lm -lgomp -
lpthread
CXX = g++
CXXFLAGS = -g -O2
FEATURES = OpenMP
Code: Select all
CCLD ltdl/loadlibrary.la
copying selected object files to avoid basename conflicts...
CCLD ltdl/libltdlc.la
+2The system cannot find the file specified.
libltdlcS.c:37:44: error: 'loadlibrary_LTX_get_vtable' undeclared here (not in a
function)
make[1]: *** [ltdl/libltdlc.la] Error 1
make[1]: Leaving directory `/c/prefix/ImageMagick-6.7.3-2'
make: *** [all] Error 2
If anyone knows how to fix that I would be very glad.