对于C ++项目,我想使用ImageMagick来操作图像。为了测试,我的test1.cpp只是简单的:
#include <iostream>
#include <Magick++.h>
using namespace Magick;
int main(int argc, char * argv[]){
return 0;}
我一直在尝试使用以下方法在终端中编译它:
g++ `Magick++-config --cxxflags --cppflags` -O2 -Wall -o test1 test1.cpp `Magick++-config --ldflags --libs`
我得到了:
fatal error: 'Magick++.h' file not found
我已经安装了最新版本的ImageMagick(从终端调用时转换并识别工作),我的.bash_profile的第一行看起来像这样:
export MAGICK_HOME="/opt/ImageMagick-6.8.9"
export PATH="/System/Library/Frameworks:$MAGICK_HOME/bin:$PATH"
export DYLD_LIBRARY_PATH="$MAGICK_HOME/lib/"
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/opt/X12/lib/pkgconfig/:$MAGICK_HOME/lib/pkgconfig"
所有路径都正确,我已经使用pkg-config成功将c ++程序链接到cairo。
我做错了什么?在c ++程序中使用ImageMagick的简单方法是什么? (我使用vim和终端,此时不希望使用IDE)。 在此先感谢您的帮助!
- 编辑 -
以下是Magick + -config(--cxxflags和--cppflags)返回的内容:
-DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I$MAGICK_HOME/include/ImageMagick-6
通过--ldflags和--libs:
-L$MAGICK_HOME/lib -lMagick++-6.Q16 -lMagickWand-6.Q16 -lMagickCore-6.Q16