libmagickwand-dev 在哪里(我都安装了它们)以及如何将它包含到 C 程序中
where's libmagickwand-dev (I installed them all) and how can I include it to a C program
我在 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 说它是一个可以删除的过渡包...
我读过那些包裹就足够了,但似乎还不够......
感谢您的回复 ;-)
在 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
我要做的是安装 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
:)
我在 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 说它是一个可以删除的过渡包...
我读过那些包裹就足够了,但似乎还不够......
感谢您的回复 ;-)
在 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
我要做的是安装 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
:)