在Windows上使用SWIG编译PHP扩展

时间:2015-10-14 18:34:53

标签: php c++ visual-studio swig

我想为现有的C ++库创建一个PHP包装器。我在网上发现了一个使用gcc的教程,但是我想在Windows上使用Visual Studio命令行做同样的事情。 我开始这样做了:

swig -php example.i

哪个效果很好。然后我必须将创建的包装器构建为扩展。 SWIG教程建议如下:

gcc `php-config --includes` -fpic -c example_wrap.c
gcc -shared example_wrap.o -o example.so

这两个电话的VS相当于什么?我显然使用了 cl 链接而不是 gcc 但是要放什么而不是' php-config --includes& #39 ;? VS命令提示符无法识别php-config命令以及' - '。

谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

反引号中包含的该命令部分本身不是gcc参数。反引号中的表达式由shell计算,然后该表达式(包括反引号)在实际执行之前被其结果替换。

在这种情况下,php-config --includes给出了gcc需要包含所有适当的php相关头的参数。在我的安装上,结果是:

I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib

这不一定对您的计算机有效。只需运行php-config --includes即可获得所需内容,获取该输出,并将其放在您找到的示例中'php-config --includes'的位置。