首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C从ImageMagick安装Mac编译致命错误“文件找不到”

C从ImageMagick安装Mac编译致命错误“文件找不到”
EN

Stack Overflow用户
提问于 2014-10-14 03:26:15
回答 1查看 1.2K关注 0票数 0

我正在试图编译一个C程序,它需要Image的MagickWand.h:

代码语言:javascript
复制
#include "wand/MagickWand.h"

但是,我的Image是通过我的Mac安装的,因此我将包含更改为实际位置:

代码语言:javascript
复制
#include </usr/local/Cellar/imagemagick/6.8.9-7/include/ImageMagick-6/wand/MagickWand.h>

但是,当我编译程序时,我收到了以下错误:

代码语言:javascript
复制
/usr/local/Cellar/imagemagick/6.8.9-7/include/ImageMagick-6/wand/MagickWand.h:71:10: fatal error: 'wand/method-attribute.h' file not found
#include "wand/method-attribute.h"

现在,我已经进入了.h文件,当这个错误出现时,我会更改它们的#include,以便正确地指出它们(因为这似乎是问题所在),但是这里总是有一个新的错误,我不想花几个小时手工更新这些文件,因为是Homebrew安装的缘故。有人对如何在不手动更新每个文件的情况下修复此问题有任何建议吗?我不知道到底是什么问题,所以也许有一个更优雅的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-14 11:30:48

您的代码应该将MagickWand库作为系统标头,并保持通用路径。这将使您以后的编译不会在系统/库更新时中断。

代码语言:javascript
复制
#include <wand/MagickWand.h>

通过设置预处理器包含标志ImageMagick,以及使用-L & -l标志的链接/库选项,告诉C编译器在何处安装了-L-l

示例:

代码语言:javascript
复制
clang -I/usr/local/Cellar/imagemagick/6.8.9-7/include/ImageMagick-6 \
      myProject.c -o myProject.o \
      -L/usr/local/Cellar/imagemagick/6.8.9-7/lib \
      -lMagickWand-6.Q16 \
      -lMagickCore-6.Q1

为了简化整个过程,ImageMagick附带了MagickWand-config实用程序。这将为您处理库、包含和定义。

示例:

代码语言:javascript
复制
CFLAGS=$(MagickWand-config --cflags)
LFLAGS=$(MagickWand-config --libs)
clang $CFLAGS myProject.c -o myProject.o $LFLAGS
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26352148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档