Aug 30

[转]用vc 2008编译php扩展 不指定

bkkkd , 08:32 , 有感而发 , 评论(1) , 引用(0) , 阅读(9946) , Via 本站原创 | |
今天又想试试写php扩展,先从编译sample开始。

首先用ext_skel_win32.php生成骨架代码。这个需要cygwin。如果cygwin不在c:\cygwin,那么需要修改这个文件,指定cygwin的位置。比如:$cygwin_path = 'd:\cygwin\bin';

之后用vc2008打开生成的dsp工程文件,升级工程文件以后,把工程选项里的C/C++ -> Code Generation里的Runtime Library改成Multi-threaded DLL (/MD);C/C++ -> Advanced里的Compile As设成Compile as C Code (/TC)。

然后就编译,居然就没通过有几个语法错误…… 搜索了一下,发现还要改两个地方:

Zend/Zend.h:

把#include   搬到

#ifdef ZEND_WIN32
# include "zend_config.w32.h"
# define ZEND_PATHS_SEPARATOR        ';'
#elif defined(NETWARE)
# include <zend_config.h>
# define ZEND_PATHS_SEPARATOR        ';'
#elif defined(__riscos__)
# include <zend_config.h>
# define ZEND_PATHS_SEPARATOR        ';'
#else
# include <zend_config.h>
# define ZEND_PATHS_SEPARATOR        ':'
#endif

后面去。

还要修改zend_config.w32.h,把#define vsnprintf _vsnprintf这行注释掉。

之后总算可以编译通过了。加载进来运行一下,终于看到了那句Congratulations。

以后再想想写个什么扩展好,然后进一步研究下。
[]
128
September 2, 2011 22:48
你也开始做扩展了呀,还在中山吗?有空交流交流。
qq:59.43.59.0

写过:json-schema-php和zoeeyguard,可以搜一搜。我在石岐。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]