在 ubuntu 上为 matlab2017b 制作 OpenEXR

make OpenEXR for matlab2017b on ubuntu

应该很简单,但我不明白为什么我尝试使用

编译时会出现此错误
g++ -c -DTARGET_API_VERSION=700  -DMX_COMPAT_64  -DUSE_MEX_CMD   -D_GNU_SOURCE -DMATLAB_MEX_FILE  -I/usr/local/include/OpenEXR  -I"/usr/local/MATLAB/R2017a/extern/include" -I"/usr/local/MATLAB/R2017a/simulink/include" -fexceptions -fPIC -fno-omit-frame-pointer -pthread -std=c++11 -O -DNDEBUG /home/jaky/MTU/Bos/lf_gen/exrinfo.cpp -o /tmp/mex_157769755466358_1351/exrinfo.o

我包括 -I/usr/local/include/OpenEXR 我什至可以从同一位置复制 header(我的意思是文件在那里)然而,命令的结果只是

exrinfo.cpp:38:23: fatal error: ImfHeader.h: No such file or directory
#include <ImfHeader.h>
                   ^
compilation terminated.

我不得不提一下,只是将 ImfHeader.h 复制到编译位置将导致另一个库请求和...

似乎 OpenEXR 库已更新,或者至少更新了一部分,并且它使用的是 gcc 5.x,它与我使用的 exrinfo.cpp 不兼容。我找到并更新了 exrinfo.cpp 的版本,解决了这个问题。