MATLAB-从jpeg_write.c创建maxmaci64时出错

问题描述

我在使用jpeg工具箱中的jpeg_read.c和jpeg_write.c的Mex制作mexmaci64文件时遇到问题。我问了问题here,解决了jpeg_read的问题。 但是当我编译jpeg_write.c时,我仍然有另一个错误。 一切都一样,我没有改变任何路径。 我不明白为什么Matlab控制台会返回此错误。 任何人都熟悉吗?请让我知道。

>> mex -compatibleArrayDims -I/usr/local/Cellar/jpeg/9d/include jpeg_write.c -L/usr/local/Cellar/jpeg/9d/lib -ljpeg
Building with 'Xcode with Clang'.
Error using mex
/Users/folder/jpeg_toolbox/jpeg_write.c:56:10: fatal error: 'jpegint.h' file not found
#include <jpegint.h>
         ^~~~~~~~~~~
1 error generated.

解决方法

首先,

通过指向2020/11/11 22:24:18 Successfully parsed template.yml 2020/11/11 22:24:18 Connected to Docker 1.40 2020/11/11 22:24:18 Could not initiate nodejs14.15 runtime: unsupported runtime 或其他库的/usr/local/Cellar/jpeg/<version>/include位置,您将依赖于当前安装的特定版本。您可能想改用jpeg等。 /usr/local/opt/jpeg/include/是Homebrew公开其已安装软件包内容的非版本表示的地方。

所以:

/usr/local/opt

这指向mex -compatibleArrayDims -I/usr/local/Cellar/jpeg/9d/include ... 库。 jpeg库提供jpeg吗?

jpegint.h

不。所以这就是为什么找不到它的原因。因此,您必须弄清楚可以从哪里实际获得$ ls /usr/local/Cellar/jpeg/9d/include/ jconfig.h jerror.h jmorecfg.h jpeglib.h 。点击Google并查阅您的文档,以弄清楚您实际上是在尝试从哪个库中提取jpegint.h,并使用适当的jpegint.h-I和{{ 1}}标志。

如果您已经安装了它,则可以使用-L查找它。我在-l包中找到它。

find /usr/local/Cellar -name jpegint.h

所以您可能想要类似的东西:

gdcm

(我不知道您是否真正想要[~] $ find /usr/local/Cellar -name jpegint.h /usr/local/Cellar/gdcm/3.0.8_1/include/gdcm-3.0/gdcmjpeg/jpegint.h mex -compatibleArrayDims -I/usr/local/opt/jpeg/include ... -I/usr/local/opt/gdcm/include/gdcm-3.0/gdcmjpeg ... jpeg_write.c ... -L/usr/local/opt/jpeg/lib -L/usr/local/opt/gdcm/lib ... -ljpeg -lgdcmjpeg16 -lgdcmjpeg8或其他东西。我只是在这里猜测。请查阅GDCM文档。)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...