当我尝试编译我的简单代码,这意味着使用ImageMagick库调整图像文件的大小时,我收到以下错误。
$ gcc `pkg-config --libs --cflags ImageMagick` imagemagick_example.c
Undefined symbols for architecture x86_64:
"_DestroyMagickWand", referenced from:
_main in ccx4lMf2.o
"_MagickGetImageHeight", referenced from:
_main in ccx4lMf2.o
"_MagickGetImageWidth", referenced from:
_main in ccx4lMf2.o
"_MagickReadImage", referenced from:
_main in ccx4lMf2.o
"_MagickResizeImage", referenced from:
_main in ccx4lMf2.o
"_MagickSetImageCompressionQuality", referenced from:
_main in ccx4lMf2.o
"_MagickWandGenesis", referenced from:
_main in ccx4lMf2.o
"_MagickWandTerminus", referenced from:
_main in ccx4lMf2.o
"_MagickWriteImage", referenced from:
_main in ccx4lMf2.o
"_NewMagickWand", referenced from:
_main in ccx4lMf2.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
我搜索了一种方法来解决这个问题一个小时,找不到任何工作。 我正在使用macOS 10.13.1和home-brew安装的ImageMagick 7.0.7-14。
答案 0 :(得分:0)
使用MagickWand
作为C API。
gcc `pkg-config --libs --cflags MagickWand` imagemagick_example.c
或者跳过pkg-config
并使用ImageMagick附带的辅助工具。
MagickWand-config --libs --cflags