别人写的代码,现在要接着测数据,发现很多都没法运行。
首先要安装Matlab JPEG Toolbox,在网上搜了下,在这http://www.philsallee.com/jpegtbx/index.html能够下到,但是看了readme,发现对我这个版本的matlab并不支持,需要我手动进行编译,编译时候需要IJG's JPEG Tools code library,又得去下http://www.ijg.org/。
下完之后傻眼,全部是源代码,没有工程,打开readme,尼玛,刚开始居然是讲linux下怎么安装,搜索了下才找到windows下的安装方法,居然是通过nmake进行创建vc工程。只有vc6 NMAKE /f makefile.vc setup-vc6和vc2010的。
注:nmake是VS自带的工具,在对应VS的vc/bin目录下,打开命令行后可能需要指定该程序的路径,或者直接在VS里面选择“工具-Visual Studio Command Prompt”打开具备环境变量的命令行
成功编译,得到了lib,后来想想,还是不用vc6的编译器,换了intel CPP编译器重新编译了一下。
再下一步就是编译toolbox了
mex -I jpeg_read.c
mex -I jpeg_write.c
Replace with the path to the IJG jpeg-6b directory, and
with the full path to the IJG code library file, generally
saved as libjpeg.a or libjpeg.lib depending on the operating system.
输入命令 mex -I ***\jpeg-8d jped_read.c ***\jped.lib和mex -I ***\jpeg-8d jped_write.c ***\jped.lib
可惜扯淡的是还是报错,显示没有一个头文件,打开jped_read.c和jped_write.c,修改了头文件,把<>改成了"",然后拷了多个头文件到当前目录,再次编译,去掉-I参数都没问题,终于成功了……
此外,还遇到一个符号链接出错,估计是因为我用VC6编译lib,然后用VS2008在matlab编译,所以改了默认的编译器,也顺利通过