解决Windows上编译PHP7.1拓展的错误
转载请注明文章出处:https://tlanyan.me/solve-buil...
接上篇Windows编译PHP7.2拓展,以为编译PHP7.1的拓展应该水到渠成,马到成功。哪知道编译PHP7.1拓展出现了新问题,折腾更超7.2。
第一个问题是VC15(visual studio 2017)不能编译PHP7.1的拓展,所以需要安装VC14(visual studio 2015)或其编译工具。从巨硬官网下载2015要登录,还要订阅“Visual Studio Dev Essentials”计划。看着安装程序显示需要占用9个G的硬盘空间,50G的C盘同样感到菊紧。
安装好VC14,开始按照流程编译PHP拓展,新的问题出现了:"NMAKE : fatal error U1077: '"' : return code '0x1'"。向上回溯编译信息,具体错误点是:
"" -h win32\ -r D:\PHP2Compile\php-sdk-binary-tools\phpdev\vc14\x64\php-7.1
.8-src\x64\Release_TS\ -x D:\PHP2Compile\php-sdk-binary-tools\phpdev\vc14\x64\php-7
.1.8-src\x64\Release_TS\ win32\build\wsyslog.mc
'-h' is not recognized as an internal or external command,
operable program or batch file.
根据-h win32
字符串,在Makefile中找到具体命令,由于"MC"变化初始化为空,所以只剩命令参数无具体指令名。那么MC的值应该是什么呢?Makefile其值则为:"$(MC)",打开PHP7.2的Makefile,发现值是:"C:Program Files (x86)Windows Kits10bin10.0.17134.0x64mc.exe"。参考PHP7.2的方案将其值改成:"C:Program Files (x86)Windows Kits8.1binx86mc.exe"。
继续编译,MT变量初始化错误导致类似问题。按照MC的处理方式将值改成:"C:Program Files (x86)Windows Kits8.1binx86mt.exe"。
接下来编译出现"NMAKE : fatal error U1077: “rc”: return code“0x1” Stop."。MC提示错误时上网查原因看到过,没想到我这里多灾多难,多爬出了几个坑才到别人的坑里。想着这样没完没了的处理一个个变量不是办法,肯定是哪里的配置出了点问题。联系MC和MT变量,都是因为没有找到具体exe文件导致。RC会不会也是这个问题呢?
在“C:Program Files (x86)Windows Kits8.1binx86”下找rc.exe,果然发现这个程序。所以很有可能是因为PATH变量未设置正确导致的。右键“我的电脑”->“属性”->“环境变量”,将“C:Program Files (x86)Windows Kits8.1binx86”的值加入用户PATH变量,注销重新登录。再次编译PHP7.1的程序和拓展,一气呵成,完美!
总结
除了需要安装visual studio 2015,剩下的问题都是同一个:VC14编译工具未在PATH变量中,更新环境变量即可。
解决Windows上编译PHP7.1拓展的错误相关推荐
- php7.1 rc,解决Windows上编译PHP7.1拓展的错误
接上篇Windows编译PHP7.2拓展,以为编译PHP7.1的拓展应该水到渠成,马到成功.哪知道编译PHP7.1拓展出现了新问题,折腾更超7.2. 第一个问题是VC15(visual studio ...
- 手把手教你在Windows上编译Swift工具链
2020/5/27更新:大家现在可以直接从Saleem Abdulrasool的Azure Pipeline中下载打包好的Swift Windows SDK了,在他的GitHub中找到swift-bu ...
- python 调用 tensorflow.dll_解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题...
最近打算开始研究一下机器学习,今天在windows上装tensorflow花了点功夫,其实前面的步骤不难,只要依次装好python3.5,numpy,tensorflow就行了,有一点要注意的是目前只 ...
- Windows上编译libpng
Windows上编译libpng 下载libpng 1.5.10并解压到[工作目录]/png/libpng-1.5.10 用CMake选择png/libpng-1.5.10目录并Configure: ...
- Windows上编译OpenEXR
Windows上编译OpenEXR 注意一定要使用1.0.1版本的ilmbase和1.6.1版本的openexr,其它版本的我测试过,OpenImageIO会编译失败. 解压ilmbase 1.0.1 ...
- 电脑显示没有被指定在上运行_win7运行QQ时出现“.dll没有被指定在Windows上运行,或者它包含错误”如何解决...
最近有用户在win7系统中运行QQ的时候出现".dll没有被指定在 Windows 上运行,或者它包含错误.请尝试使用原始安装媒体重新安装程序,或联系您的系统管理员或软件供应商以获取支持.& ...
- 在windows上编译apr库apr-util库
在windows上编译apr库apr-util库 环境: win10.VS2015企业版.CMake3.18.2 一.下载apr相关库 1.1)expat:expat-2.1.0.tar.gz 1.2 ...
- 手把手教你用delphi 10.2.3 在windows上编译Centos 7下的命令行程序,适合中小学生
手把手教你用delphi 10.2.3 在windows上编译Centos 7下的命令行程序,适合中小学生 1.下载并安装 a)下载:delphicbuilder10_2_3_2631.iso ...
- 在Windows上编译FreeRDP
在Windows上编译FreeRDP FreeRDP是RDP协议的一个开源实现,像mstsc远程桌面也是RDP协议的一个实现微软把它预装在Windows系统中.今天我们就讲下如何在Windows下编译 ...
最新文章
- Docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket解决方案
- python lxml读写xml
- php 调用 com,PHP调用COM函数
- 企业门户网站服务器,企业或个人门户网站对服务器前的重要准备 - 酷番云
- Objective-C 一些很基础的总结
- c语言删除数组重复元素并升序,C语言编程题: 编写函数,从一个已经排序的数组中删去某数后,该数组仍然有序....
- Java Web整合开发(37) -- SVN
- git学习笔记(三)
- 跨境电商热之下推ShopExpress,微盟靠什么出海寻新增量?
- 删掉启动分区进不了系统,复活办法(win10)
- matlab plotyy 坐标轴设置,[转载]Matlab plotyy画双纵坐标图实例
- 如何预防电脑辐射(转自j2medev)
- Python练习task2:条件与循环
- 20200321——IO 多路复用
- 一般人我不告诉的bug
- 《次第花开》学习笔记
- 配置maven的中央仓库mirro镜像
- 银河麒麟踩坑笔记——打包QT程序
- Apache-Apollo-MQTT最新地址
- 【Unity3D】10行代码实现一个简单的角色移动旋转脚本
热门文章
- 小干货:Linux 系统的备份恢复
- 企业运维经典面试题汇总(5)
- 利用 Zabbix 监控 mysqldump 定时备份数据库是否成功
- Linux 命令 之 【stat】 查看文件状态。 (包括修改时间)
- 苹果审核之遇到IPV6问题被拒的解决方法
- linux下安装mongodb,以及解决安装报错问题
- zabbix报错cannot set resource limit: [13] Permission denied解决方法
- 使用grep进行负匹配(匹配不包含foo的行)
- 仿真器如何工作以及如何编写? [关闭]
- word2016点击关闭后卡死问题