首頁 >後端開發 >PHP7 >講解windows下編譯php7圖形函式庫php_ui.dll

講解windows下編譯php7圖形函式庫php_ui.dll

coldplay.xixi
coldplay.xixi轉載
2021-02-26 09:28:182469瀏覽

講解windows下編譯php7圖形函式庫php_ui.dll

推薦(免費):PHP7

#具有圖形化程式設計才有意思,這幾天看到了php ui圖形擴展,只是現在只能下載php 7.1的本次教程編譯php7.2.6的php ui

要是linux下編譯起來比較簡單但是windows下就麻煩些

#編譯環境搭建

php7.2.6的編譯(windows環境)有幾個重要的不同.

1.php7.2採用vc15(vs2017)編譯

2.php7的sdk php-sdk 

3.編譯環境搭建更簡單一些了.

具體環境搭建

安裝vc15編譯器

vs2017把編譯器和ide 分開了,因為我們只需要編譯器所以就不安裝vs2017了(直接安裝vs2017 免費版也可以)

注意win下方單獨下載cmake 並配置到系統環境中

http://landinghub.visualstudio.com/visual-cpp-build-tools

#點擊下載位址到下載頁面在下面找到"Visual Studio 2017 生成工具" 下載安裝就可以了

注意選擇vc相關的程式下面是安裝的截圖


下載php-sdk 解壓縮

https://github.com/Microsoft/php-sdk-binary-tools

解壓縮到d:\php_sdk\ (假設我們準備用d:\php_sdk\ 作為編譯目錄)

這時d:\php_sdk\ 下面應該有 


在 J:\compiler\php\sdk\binary-tools 執行phpsdk-vc15-x86.bat

在php_sdk 目錄按住shift 鍵右鍵點擊"在此處開啟命令列視窗"

在命令列視窗執行"phpsdk-vc15-x86.bat"  

註解: 如果想編譯64位元版本就執行x64,

結果如下圖(phpsdk目錄不太一樣)


#


執行 phpsdk_buildtree phpdev 

這時候 #J:\compiler \php\sdk\下面應該會有一個phpdev 目錄

#下載 libui

##解壓縮到任意目錄

mkdir build && cd build 
cmake -G"NMake Makefiles" NDEBUG ..
打开
CMakeFiles\libui.dir\build.make:1298
	resources.rc.* 改成 resources.rc.res
cmake --build .
libui-alpha3.5\build\out
out\libui.lib 和 out\libui.res 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\lib
libui-alpha3.5
ui.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_darwin.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_unix.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include
ui_windows.h 复制到 J:\compiler\php\sdk\phpdev\vc15\x64\phpdev\vc15\x64\deps\include

下載 pthreads-w32-2-9-1-release 點擊到下載頁面

pthreadVC2.lib 复制到 J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\lib
打開pthread.h 開頭增加預處理內容如下


#define HAVE_STRUCT_TIMESPEC
#define _TIMESPEC_DEFINED
將這個檔案複製到 

J:\compiler\php\sdk\phpdev\phpdev\vc15\x64\deps\include

#下載php ui

##https:// github.com/krakjoe/ui
如果有目前使用版本可直接下載
http://pecl.php.net/package/ui
手冊
http://php.net/ui

解壓縮到php ext目錄中並重新命名為ui

進入php-src 目錄,執行

命令列"cd /d 

J:\compiler\php\sdk\phpdev\vc15\x64\php-7.2.6

" 進入php 原始碼目錄命令列"php

sdk_deps --update --branch master

" php會自動下載需要的依賴套件(以前需要手動下載php-dsp檔案)看到 

successfully 字樣 說明下載完成

執行"

buildconf#"命令列執行"

buildconf

"

如果提示 沒有檔案擴充「.js」的腳本引擎

可下載檔案執行解決點擊跳轉

重新执行 buildconf

结果如下 说明运行完毕

  1. $ buildconf  
  2. Rebuilding configure.js  
  3. Now run 'configure --help' 

编译php

configure --disable-all --enable-cli --enable-fd-setsize=2048 --enable-sanitizer --with-ui=shared --with-curl=shared --disable-cgi
扩展
--disable-zts
--disable-cgi   编译出 windows 版本和 php-cgi.exe  
--disable-zts   nts 非线程安全  
--enable-shmop=shared   以dll 方式编译 php shmop 扩展
Makefile 如果链接提示库不存在 可修改makefile 修改如下
	LIBS=kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib psapi.lib bcrypt.lib comdlg32.lib  Gdi32.lib comctl32.lib version.lib d2d1.lib dwrite.lib windowscodecs.lib dxgi.lib d3d12.lib ScrnSave.Lib USP10.Lib UxTheme.lib

然后执行"nmake" 开始编译

等待数分钟(或者数10分钟)后,在php-源码目录应该能够找到 Release_TS 目录看见 php-ui了

最后 pthreadVC2.dll 和 libui.dll 复制到php 根目录 

php-ui.dll 复制到 php ext目录

php ini 新增 

extension=ui

ok下面是运行截图


下面是编译好了的

点击到下载页面

以上是講解windows下編譯php7圖形函式庫php_ui.dll的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除