0

我在 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(magickcore low-access API for C)
libmagickcore-6-headers
libmagickwand-6.q16-dev(magickwand C 开发者API)
libmagickwand-6-headers
我还安装了 libmagickwand-dev 包,虽然 apt 说它是一个可以删除的过渡包......
我读过这些包就足够了,但似乎不是......谢谢为您的答复;-)

4

2 回答 2

1

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

你可以找到他们...

find /usr/lib -name 'libMagick*'

实际位置并不是非常重要,因为您应该利用pkg-config, 或MagickWand-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
于 2016-10-18T13:03:24.953 回答
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

:)

于 2016-10-19T22:13:08.247 回答