第一步:
安装cygwin,务必cygwin\bin文件夹有bison.exe、flex.exe (http://blog.chinaunix.net/uid-20545494-id-1929752.html)
c:\cygwin\bin
把以上加入到环境变量中
首次安装时,可选择默认安装
我安装了以下这些包,可能有的多余了,作个参考:
安装时请一定要选择 bison.exe 和 flex.exe
安装Visual C++6.0,安装VC6 Service Pack 6
参考:http://wiki.
确认环境变量:C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
第二步:
官方网站下载
源码:c:\
二进制文件:c:\
把c:\
第三步:
命令行下:cd
进入源码根目录
执行:buildconf
如果在这出什么问题,很有可能是cygwin安装不完整
那就继续安装cygwin吧
第四步:
执行:configure
这个命令执行中可以生成C:\文件夹下的config.w32.h头文件
这个头文件在扩展目录编译时会用到
其中三、四两步只需执行一次,以后再建扩展可以不执行了,直接从第五步开始就可以了
第五步:
可以生成扩展目录了
进入到:C:\
执行:
执行这个命令时,确保ext_skel_win32.
默认是:c:\cygwin\bin,所以我的就不需要修改了
第六步:
把C:\
修改
扩展的新函数: 在
// 新增的行 申明函数
修改myhello.c
在//myhello 函数体
}
在数组zend_function_entry myhello_functions[]增加一行
zend_function_entry myhello_functions[] = {
NULL)
// 新增的行 注册myhello函数
{NULL, NULL, NULL}
};
第七步:
用vc6打开myhello.dsp,build->Set Active Configuration,选择release编译
然后build->
这个时候会报很多
接着比较重要的一步,很多时候就是差这一步了
在这个文件大约28行位置加上这一句:typedef int socklen_t;(只需在第一次扩展时加上就可以了)
接着build->
然后是不是成功了?
第八步:
在 C:\
把
在
第九步:
写一个test.
重启web server,就可以在浏览器里看到:hello C extension.
成功了!