如何解决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文档。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。