webp的php扩展编写
生成框架http://blog.csdn.net/heiyeshuwu/article/details/3453854 文章比较详细,不细说
代码编写
libweb(https://developers.google.com/speed/webp/)中example部分提供了cwebp的源码,只是输入输出为文件句柄,尝试修改输入输出参数为内存即可。
不细说
编译
依赖环境:
[*] libwebp-0.2.0+
[*] libjpeg-8+
[*] libpng
下面说下编译过程中遇到的几个疑问:
1. 如何在编译时引用第三方库及头文件?
答:http://www.59n.net/60978.html
编译安装依赖Makefile文件,该文件由configure文件生成,configure又继承自config.m4文件。故需要修改config.m4文件
/*
vi config.m4
在config.m4中添加
*/
PHP_ADD_INCLUDE(/usr/local/include)
PHP_ADD_LIBRARY_WITH_PATH(jpeg, /usr/local/lib, WEBP_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(png, /usr/local/lib, WEBP_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(webp, /usr/local/lib, WEBP_SHARED_LIBADD)
PHP_SUBST(WEBP_SHARED_LIBADD)
2. 依赖多个.c文件,如何设置?
答:仍需修改config.m4文件
PHP_NEW_EXTENSION(webp, webp.c cwebp.c, $ext_shared)//多个.c文件以空格分隔
3. 需要条件编译,如何设置?
答:修改config.m4文件
export CPPFLAGS="$CPPFLAGS -DWEBP_HAVE_JPEG -DWEBP_HAVE_PNG"
页:
[1]