摘要:安裝好,開始按照流程編譯拓展,新的問(wèn)題出現(xiàn)了。參考的方案將其值改成。繼續(xù)編譯,變量初始化錯(cuò)誤導(dǎo)致類似問(wèn)題。所以很有可能是因?yàn)樽兞课丛O(shè)置正確導(dǎo)致的。
轉(zhuǎn)載請(qǐng)注明文章出處:https://tlanyan.me/solve-buil...
接上篇Windows編譯PHP7.2拓展,以為編譯PHP7.1的拓展應(yīng)該水到渠成,馬到成功。哪知道編譯PHP7.1拓展出現(xiàn)了新問(wèn)題,折騰更超7.2。
第一個(gè)問(wèn)題是VC15(visual studio 2017)不能編譯PHP7.1的拓展,所以需要安裝VC14(visual studio 2015)或其編譯工具。從巨硬官網(wǎng)下載2015要登錄,還要訂閱“Visual Studio Dev Essentials”計(jì)劃。看著安裝程序顯示需要占用9個(gè)G的硬盤空間,50G的C盤同樣感到菊緊。
安裝好VC14,開始按照流程編譯PHP拓展,新的問(wèn)題出現(xiàn)了:"NMAKE : fatal error U1077: """ : return code "0x1""。向上回溯編譯信息,具體錯(cuò)誤點(diǎn)是:
"" -h win32 -r D:PHP2Compilephp-sdk-binary-toolsphpdevvc14x64php-7.1 .8-srcx64Release_TS -x D:PHP2Compilephp-sdk-binary-toolsphpdevvc14x64php-7 .1.8-srcx64Release_TS win32uildwsyslog.mc "-h" is not recognized as an internal or external command, operable program or batch file.
根據(jù)-h win32字符串,在Makefile中找到具體命令,由于"MC"變化初始化為空,所以只剩命令參數(shù)無(wú)具體指令名。那么MC的值應(yīng)該是什么呢?Makefile其值則為:"$(MC)",打開PHP7.2的Makefile,發(fā)現(xiàn)值是:"C:Program Files (x86)Windows Kits10bin10.0.17134.0x64mc.exe"。參考PHP7.2的方案將其值改成:"C:Program Files (x86)Windows Kits8.1binx86mc.exe"。
繼續(xù)編譯,MT變量初始化錯(cuò)誤導(dǎo)致類似問(wèn)題。按照MC的處理方式將值改成:"C:Program Files (x86)Windows Kits8.1binx86mt.exe"。
接下來(lái)編譯出現(xiàn)"NMAKE : fatal error U1077: “rc”: return code“0x1” Stop."。MC提示錯(cuò)誤時(shí)上網(wǎng)查原因看到過(guò),沒(méi)想到我這里多災(zāi)多難,多爬出了幾個(gè)坑才到別人的坑里。想著這樣沒(méi)完沒(méi)了的處理一個(gè)個(gè)變量不是辦法,肯定是哪里的配置出了點(diǎn)問(wèn)題。聯(lián)系MC和MT變量,都是因?yàn)闆](méi)有找到具體exe文件導(dǎo)致。RC會(huì)不會(huì)也是這個(gè)問(wèn)題呢?
在“C:Program Files (x86)Windows Kits8.1binx86”下找rc.exe,果然發(fā)現(xiàn)這個(gè)程序。所以很有可能是因?yàn)镻ATH變量未設(shè)置正確導(dǎo)致的。右鍵“我的電腦”->“屬性”->“環(huán)境變量”,將“C:Program Files (x86)Windows Kits8.1binx86”的值加入用戶PATH變量,注銷重新登錄。再次編譯PHP7.1的程序和拓展,一氣呵成,完美!
總結(jié)除了需要安裝visual studio 2015,剩下的問(wèn)題都是同一個(gè):VC14編譯工具未在PATH變量中,更新環(huán)境變量即可。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/29272.html
摘要:下源碼安裝一前言之前,我的開發(fā)環(huán)境是。重新加載權(quán)限表將確保所有到目前為止所做的更改將立即生效。然后,和注意,如果是使用二進(jìn)制包安裝了及相應(yīng)的開發(fā)庫(kù),不需要指定路徑。五參考資料入門教程編譯安裝編譯安裝 Debian9下源碼安裝LNMP 一、前言 之前,我的開發(fā)環(huán)境是Windows-10+PHP-7.1+Nginx-1.10+MariaDB-10.1。 后面開發(fā)需要使用到memcached...
摘要:下源碼安裝一前言之前,我的開發(fā)環(huán)境是。重新加載權(quán)限表將確保所有到目前為止所做的更改將立即生效。然后,和注意,如果是使用二進(jìn)制包安裝了及相應(yīng)的開發(fā)庫(kù),不需要指定路徑。五參考資料入門教程編譯安裝編譯安裝 Debian9下源碼安裝LNMP 一、前言 之前,我的開發(fā)環(huán)境是Windows-10+PHP-7.1+Nginx-1.10+MariaDB-10.1。 后面開發(fā)需要使用到memcached...
閱讀 4165·2021-11-22 13:52
閱讀 2086·2021-09-22 15:12
閱讀 1125·2019-08-30 15:53
閱讀 3458·2019-08-29 17:12
閱讀 2196·2019-08-29 16:23
閱讀 1657·2019-08-26 13:56
閱讀 1778·2019-08-26 13:44
閱讀 1891·2019-08-26 11:56