libmagickwand-dev 在哪里(我全部安装了)以及如何将其包含到 C 程序中

问题描述 投票:0回答:2

我在 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 的 magiccore 低访问 API)
  • libmagickcore-6-标头
  • libmagickwand-6.q16-dev(magickwand C 开发者 API)
  • libmagickwand-6-标头

我还安装了 libmagickwand-dev 软件包,尽管 apt 说它是一个可以删除的过渡软件包...... 我读过这些软件包就足够了,但似乎还不够...... 谢谢您的回复。

c imagemagick magickwand
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

1
投票

我要做的是安装 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

:)

© www.soinside.com 2019 - 2024. All rights reserved.