imagemagick_lib_iphone
imagemagick_lib_iphone copied to clipboard
Scripts and instructions to compile ImageMagick as a static library to use in any iOS project
Compiled downloads
You can grab the latest compiled ImageMagick directly from their ftp or any mirror.
There are always 2 packages for the compiled ImageMagick:
- iOSMagick-VERSION-libs.zip
- iOSMagick-VERSION.zip
The first one includes headers and compiled libraries that have been used to compile ImageMagick. Most users would need this one.
Compiling ImageMagick and IMDelegates
The directory structure has to be:
./build/ImageMagick-VERSION/If you don't have this directory structure you can either create it or try change around the script. You can find the delegate libraries on the ImageMagick ftp or on the respective websites.
The main script to run is:
./all.sh VERSION|cleanwhere VERSION is the version of ImageMagickyou want to compile (e.g., 6.8.8-9), if 'clean' is passed, the script will clean all the log files and the directories it created.
Upon successful compilation a folder called "IMPORT_ME" will be created from where you start the script: you can import it into your XCode project.
The rest of the scripts are invoked by all.sh and offer the following:
./env.shsets up environment variables used by the other scripts.This is most probably the script you want to modify to suit your needs (e.g., set up which architectures will be compiles, verbosity level, ...)
./flags.shsaves, sets up and restores compiler-related values./utils.shoffers some functions used in the other scripts./compile_*.share the scripts used to compile the respective componentXCode project settings
After including everything into XCode please also make sure to have these settings (Build tab of the project information):
- Other Linker Flags: -lMagickCore -lMagickWand -lz -lbz2 -ljpeg -lpng
- Header Search Paths: $(SRCROOT) - make it Recursive
- Library Search Paths: $(SRCROOT) - make it Recursive
On the lower left click on the small-wheel and select: Add User-Defined Setting
- Key: OTHER_CFLAGS
- Value: -Dmacintosh=1
In Link Binary with Libraries under Build Phases, you may also need to add:
- libxml2.dylib
Sample project
A more or less updated project is found in the IM_Test subfolder