libmagickwand-dev(我安装了所有),我怎样才能将它包含在C程序中

时间:2016-10-15 19:40:38

标签: c imagemagick magickwand

我在Ubuntu 16.04中安装了所有libmagick-dev软件包(magickwand,magick ++等),但我不知道库在哪里......所以我没有将它包含在我的C程序中。
我需要为我正在开发的项目使用像素级功能 当输入'locate libmagick'时,我只是得到/ usr / share / doc的东西。 这是文档,而不是图书馆 我需要将.h文件包含在我的程序中,以便我可以操作图像 目前,我正在对图像处理进行测试(imagemagick.org网站中使用magickwand API的简单程序)...
但那是我不知道怎么做的事情。
图书馆在哪里?
这是第一步:(

已安装-dev包:
libmagick ++ - 6.q16-dev(imagemagick C ++开发人员API)
libmagickcore-6.q16-dev(C的magickcore低访问API)
libmagickcore -6-头
libmagickwand-6.q16-dev(magickwand C开发人员API)
libmagickwand -6-头
我还安装了libmagickwand-dev包,虽然apt说它是一个可以删除的过渡包... 我已经读过那些包装就够了,但似乎不是...... 谢谢你的回复; - )

2 个答案:

答案 0 :(得分:0)

在Ubuntu / Debian系统上,库通常位于/usr/lib下,或者由软件包安装程序+系统架构管理的子目录。

你可以找到......

find /usr/lib -name 'libMagick*'

实际位置并不十分重要,因为您应该利用pkg-configMagickWand-config实用程序来获取所需的CC + LD标记。

例如

pkg-config --cflags --libs MagickWand
#=> -fopenmp -I/usr/include/ImageMagick  -lMagickWand -lMagickCore

MagickWand-config --cflags --libs
#=> -fopenmp -I/usr/include/ImageMagick
#   -lMagickWand -lMagickCore

所以一个简单的MagickWand测试就像......

// test.c (creates a single rose.bmp image for testing)
#include <wand/MagickWand.h>

int main()
{
    MagickWandGenesis();
    MagickWand *test = NewMagickWand();
    MagickReadImage(test, "rose:");
    MagickWriteImage(test, "rose.bmp");
    DestroyMagickWand(test);
    MagickWandTerminus();
    return 0;
}

可以用..编译

cc -o make_rose_image $(pkg-config --cflags --libs MagickWand) test.c

答案 1 :(得分:0)

我要做的是安装libmagick-dev库。他们在/ usr / lib。
输入find /usr/lib -name 'libMagick*'时,已获得

/usr/lib/x86_64-linux-gnu/libMagick++-6.Q16.a
/usr/lib/x86_64-linux-gnu/libMagick++-6.Q16.so
/usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2.0.0
/usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so
/usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.a
/usr/lib/x86_64-linux-gnu/libMagick++-6.Q16.la
/usr/lib/x86_64-linux-gnu/libMagick++-6.Q16.so.5.0.0
/usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so
/usr/lib/x86_64-linux-gnu/libMagick++-6.Q16.so.5
/usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2
/usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.so.2.0.0
/usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so.2
/usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.a
/usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.la
/usr/lib/x86_64-linux-gnu/libMagickWand-6.Q16.la

他们在那里!
这些库位于/ usr / lib
中 而使用MagickWand的程序则由
调用 cc -o output $(pkg-config --cflags --libs MagickWand) source.c

:)