如何编译PHP的DLL扩展x86 x64版本

7
我正在尝试建立一个每晚构建环境,用于编译PHP DLL扩展的x64和x86版本。
我已经按照this指南设置了环境并成功地构建了扩展。
目前,我有两个虚拟机,一个带有Windows(XP和7)的x86版本,另一个带有x64版本。
是否有办法在同一台虚拟机上(我假设这将是Windows 7)使用批处理文件构建两个DLL(32位和64位)?
我的目标是设置一个每晚构建的“服务器”,同时也能够通过按钮编译DLL。
感谢任何提示。
编译DLL的机器具有Visual Studio 2008 Express和Windows SDK 6(用于x86)和7(用于x64)。

x86编译器应该有标志来指定编译的目标CPU,但是您没有提到使用哪个编译器,所以... - Marc B
从我链接的指南中,它只是说使用:setenv /x86 /xp /release 然后设置您的构建环境并运行 nmake。同样,64位版本将为 /x64。 - Nikolaos Dimopoulos
2个回答

1
Visual Studio 中,项目属性下有一个 Build 选项卡。点击 Build 选项卡会显示一个带有标签 Platform target 的下拉菜单。您可以将其设置为 x86 并尝试一下。如果失败了,那么您可以尝试另一个选项 Any CPU

谢谢回复,但我提供的指南根本不需要你启动Visual Studio。你所要做的就是使用命令行setenv /x86 /xp /release,然后在相关的PHP版本(5.4、5.3等)中构建包。问题在于,如果我使用批处理文件,setenv指令会停止批处理文件。此外,有没有办法使用命令行运行Visual Studio项目? - Nikolaos Dimopoulos
因为我想通过运行定时任务来自动化这个过程 - 这就是我在问题中提到的夜间构建。 - Nikolaos Dimopoulos
@NikolaosDimopoulos 为了自动化这个过程,可以使用 AutoIt3 的一个不太正规的解决方法 http://www.autoitscript.com - HamZa

0

有一个博客(不是我的),其中有人编译了旧版和新版PHP的x64版本,因此您无需自己编译。它在这里:http://www.anindya.com/


谢谢提供链接,但我不需要编译PHP,如问题所述,我需要编译一个PHP的扩展。不管怎样还是谢谢。 - Nikolaos Dimopoulos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接