ImageMagick 没有这个文件或目录。

4
我正在尝试使用以下代码获取屏幕截图:
#include <stdio.h>
#include </wand/MagickWand.h>

int main(int argc, char **argv)
{
MagickWandGenesis();
MagickWand *wand = NULL;
wand = NewMagickWand();
MagickReadImage(wand,"x:root"); // <-- Invoke ImportImageCommand
MagickWriteImage(wand,"screen_shot.png");
if(wand)wand = DestroyMagickWand(wand);
MagickWandTerminus();
return 0;
}

然而,我遇到了以下错误信息:“magick-config.h”位于指定文件夹“magick/magick-config.h”中,但我不理解问题出在哪里。

$ make screenshot
cc screenshot.c -o screenshot
In file included from /wand/MagickWand.h:29:0,
from screenshot.c:2:
/magick/magick-config.h:29:3: warning: #warning "you should set MAGICKCORE_QUANTUM_DEPTH to sensible default set it to configure time default"
/magick/magick-config.h:30:3: warning: #warning "this is an obsolete behavior please fix your makefile"
/magick/magick-config.h:52:3: warning: #warning "you should set MAGICKCORE_HDRI_ENABLE to sensible default set it to configure time default"
/magick/magick-config.h:53:3: warning: #warning "this is an obsolete behavior please fix yours makefile"
In file included from /wand/MagickWand.h:70:0,
from screenshot.c:2:
/magick/MagickCore.h:29:36: fatal error: magick/magick-config.h: No such file or directory
compilation terminated.
<builtin>: recipe for target `screenshot' failed
make: *** [screenshot] Error 1

任何帮助都将不胜感激。
谢谢。

你是否已经安装了“imagemagick”软件包? - Deepika
我对C语言了解不多,但我认为您需要将头文件(MagickWand.h)放在<c-install-dir> / bin或程序目录中,即您的程序正在运行的位置。 - ajduke
是的,ImageMagick已经成功安装了,它能够识别许多其他的头文件,但在这个文件上却出现了问题,我不知道为什么? - Sean
2个回答

1

实际上,我曾经遇到过这样的问题,并且通过以下命令安装libmagickcore-dev软件包解决了它:

sudo apt-get install libmagickcore-dev

通过Ubuntu存储库进行安装。 :-)

如果这样不起作用,你可以尝试安装名为“graphicsmagick-libmagick-dev-compat”的软件包。


0

你可能安装了太多东西了吗?

试试删除"Image-magick-Perl Module"

这个Perl模块。

然后再尝试使用PECL或其他方式安装ImageMagick。

通常,这个问题的出现是因为在平台上使用“make install”进行安装。

如果您已经开始了从纯源代码进行安装,请删除所有其他安装。

与从源代码构建不同,.deb和.rpm软件包可能以不同的方式安装。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接