我使用的是 Ubuntu 14.04,默认安装了 ImageMagick 6.7.7-10。我需要使用魔法++,ImageMagick 的 C++ API,在 C++ 项目中,但我不知道它位于何处。我如何知道我是否拥有它,如果没有,获取它的最佳方法是什么?
编辑-现在我已经安装了 libmagick++-dev,我在哪里可以找到我需要在项目中 #include 的头文件 Magick++.h?
答案1
由于上述页在你的问题中
用法
... Unix 下安装了一个名为 Magick++-config 的辅助脚本,它可以帮助调用编译和链接使用 Magick++ 的程序所需的编译选项。...
我相信您正在寻找以下内容:
% apt-file search Magick++-config
graphicsmagick-libmagick-dev-compat: /usr/bin/Magick++-config
和
% apt-file search Magick++.h
graphicsmagick-libmagick-dev-兼容:/usr/include/Magick++.h
这是你的头文件: ↑ ↑
因此安装graphicsmagick-libmagick-dev-compat
sudo apt-get install graphicsmagick-libmagick-dev-compat
或者更简单:
sudo apt-get install libgraphicsmagick1-dev
因为:
% apt-rdepends graphicsmagick-libmagick-dev-compat | grep magick
Reading package lists... Done
Building dependency tree
Reading state information... Done
graphicsmagick-libmagick-dev-compat
Depends: libgraphics-magick-perl
Depends: libgraphicsmagick++1-dev
Depends: libgraphicsmagick1-dev
libgraphics-magick-perl
Depends: libgraphicsmagick3 (>= 1.3.5)
libgraphicsmagick3
libgraphicsmagick++1-dev
Depends: libgraphicsmagick++3 (= 1.3.20-4)
Depends: libgraphicsmagick1-dev
libgraphicsmagick++3
Depends: libgraphicsmagick3 (>= 1.3.15)
libgraphicsmagick1-dev
Depends: libgraphicsmagick3 (= 1.3.20-4)
% apt-rdepends libgraphicsmagick1-dev | grep magick
Reading package lists... Done
Building dependency tree
Reading state information... Done
libgraphicsmagick1-dev
Depends: libgraphicsmagick3 (= 1.3.20-4)
libgraphicsmagick3
答案2
让我们来看看
$ apt-cache search dev | grep magick
libmagick++-dev - object-oriented C++ interface to ImageMagick - development files
libmagickcore-dev - low-level image manipulation library - development files
libmagickwand-dev - image manipulation library - development files
php5-imagick - ImageMagick module for php5
graphicsmagick-libmagick-dev-compat - image processing libraries providing ImageMagick interface
libghc-hsmagick-dev - FFI bindings for the GraphicsMagick library
libgraphicsmagick++1-dev - format-independent image processing - C++ development files
libgraphicsmagick1-dev - format-independent image processing - C development files
看起来很有希望:那么
$ apt-cache show libmagick++-dev
.
.
Description-en: object-oriented C++ interface to ImageMagick - development files
This package includes header files and static libraries needed to compile
programs using Magick++.
因此,您似乎应该libmagick++-dev
通过软件中心或从命令行安装该软件包
sudo apt-get install libmagick++-dev
答案3
安装 libmagick++-dev 后:
sudo apt-get install libmagick++-dev
我跑了:
sudo apt-file find Magick++.h
这给了我多个结果,但相关的是:
/usr/include/ImageMagick/Magick++.h
答案4
如果您知道所需文件的名称,但不一定知道软件包名称,则以下命令 (apt-file) 有效。但是,如果您知道软件包名称,它也可以正常工作。
...
“apt-file find” 可用于通过命令行查找安装了哪个特定文件(软件包)。然后“apt-get install”(通过命令行)可用于安装软件包的“dev”版本。否则,Synaptic 软件包管理器 (GUI) 可以显示已安装或未安装的软件包。但是,使用 Synaptic 软件包管理器时,必须先安装整个软件包,才能实际查看安装了哪个单个文件(该软件包)。
...
sudo apt-get 安装 apt-file
...
sudo apt-file 查找 libmagick++
...
sudo apt-file 查找 libmagick++
libmagick++-dev: /usr/share/doc/libmagick++-dev/NEWS.Debian.gz
libmagick++-dev: /usr/share/doc/libmagick++-dev/changelog.Debian.gz
libmagick++-dev: /usr/share/doc/libmagick++-dev/copyright libmagick++5: /usr/share/doc/libmagick++5/NEWS.Debian.gz libmagick++5: /usr/share/doc/libmagick++5/changelog.Debian.gz libmagick++5: /usr/share/doc/libmagick++5/copyright
...
(命令的输出显示安装了一些压缩文档,但没有安装“libmagick++”的其他内容,因此应该安装 libmagick++-dev...)
...
sudo apt-get 安装 libmagick++-dev