PHP擴展開發(2) - VS2013環境搭建

1. 安裝VS2013

2. Cygwin安裝php

3. 下載Windows的PHP源碼
4. 修改~/ext/ext_skel_win32.php
    加上 $cygwin_path = 'c:\cygwin\bin';
5. 生成擴展框架 php.exe ext_skel_win32.php --extname=simple
6. 在VS2013上建立動態庫項目
7. VS2013 -> 修改解決方案爲Release
8. VS2013 -> 右鍵項目屬性 -> C/C++ -> 常規(General)-> 附加包含目錄(Additional Include Directories) -> 編輯添加
 
E:\php-5.6.9-src
E:\php-5.6.9-src\main
E:\php-5.6.9-src\TSRM
E:\php-5.6.9-src\Zend
 
9. VS2013 -> 右鍵項目屬性 -> C/C++ ->預處理器(Preprocessor)->預處理器定義(Preprocessor Definitions) -> 編輯增長
 
ZEND_DEBUG=0
PHP_EXTENSION
PHP_WIN32
ZEND_WIN32
HAVE_SIMPLE=1(SIMPLE要改爲你的擴展名稱,不改爲你的擴展名,php會不識別,下同)
COMPILE_DL_SIMPLE
ZTS(這一個變量加上是開啓線程安全,不加是關閉線程安全)
 
10. 生成解決方案,錯誤信息顯示找不到「config.w32.h」,在源代碼文件目錄裏搜索「config.w32.h」,在E:\php-5.6.9-src\win32\build\文件夾裏找到「config.w32.h.in」,將這個文件複製到E:\php-5.6.9-src\main\文件夾裏,去掉後面的「.in」
 
11. 再次生成解決方案,顯示錯誤信息LNK1120


錯誤 7 error LNK1120: 5 個沒法解析的外部命令 E:\php-5.6.9-src\ext\test\Release\phptest.dll 1 1 phptesthtml

 
VS2013 -> 右鍵項目屬性 -> 鏈接器(Linker)-> 輸入(Input)->附加依賴項(Additional Dependencies) -> 編輯添加
 
 
12. 修改 ~/main/config.w32.h
 
增長 #define PHP_COMPILER_ID "VC9" 
 
來源: http://www.cnblogs.com/mahatmasmile/p/4527495.html
相關文章
相關標籤/搜索