我从this site下载了用于MATLAB的jpeg_toolbox,然后从here下载了JPEG编译器工具。我按照说明为Mac配置了整个(UNIX *)。
现在,我需要编译包含在MATLAB的第一个链接中的jpeg_read.c
和jpeg_write.c
,因为工具箱不提供mexmaci64文件。但是,当我尝试:
mex jpeg_read.c
MATLAB返回以下错误:
Error using mex
Undefined symbols for architecture x86_64:
"_jpeg_CreateDecompress", referenced from:
_mexFunction in jpeg_read.o
"_jpeg_destroy_decompress", referenced from:
_mexFunction in jpeg_read.o
"_jpeg_finish_decompress", referenced from:
_mexFunction in jpeg_read.o
"_jpeg_read_coefficients", referenced from:
_mexFunction in jpeg_read.o
"_jpeg_read_header", referenced from:
_mexFunction in jpeg_read.o
"_jpeg_save_markers", referenced from:
_mexFunction in jpeg_read.o
"_jpeg_std_error", referenced from:
_mexFunction in jpeg_read.o
"_jpeg_stdio_src", referenced from:
_mexFunction in jpeg_read.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如何编译程序?否则,你们中的任何人都已经得到了我需要的mexmaci64吗?
答案 0 :(得分:1)
我这样解决了:
brew install libjpeg
我在/usr/local/lib
找到了库,所以在MATLAB上我移动到包含必须编译的.c
文件的文件夹中,我跑了:
mex jpeg_read.c "/usr/local/lib/libjpeg.a"
mex jpeg_write.c "/usr/local/lib/libjpeg.a"