phpize +Visual Studio + MSYS2 + bison 草稿记录并未正常完成

2024-05-08 13:28

本文主要是介绍phpize +Visual Studio + MSYS2 + bison 草稿记录并未正常完成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

phpize +Visual Studio + MSYS2 + bison

先安装  Visual Studio
https://visualstudio.microsoft.com/zh-hans/vs/
在安装过程中,选择安装工作负载。确保选择了 C++ 工作负载以及适用于 C++ 开发的相关组件,例如 MSVC v142 - VS 2022 C++ x64/x86 build tools。
在 PATH 中添加 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\bin\Hostx64\x64


MSYS2
如果您在 Windows 上需要使用类 Unix 的环境来编译 Bison,建议安装 MSYS2。
MSYS2 下载 https://www.msys2.org/
安装到 C:\msys64
安装完成后,启动 MSYS2 终端
更新包数据库
> pacman -Syu

添加 MSVC 目录到 MSYS2 环境变量
> export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx64/x64:$PATH"
查看
> echo $PATH
使用 MSYS2 的包管理器 pacman 来安装所需的基本开发工具和库
> pacman -S base-devel
安装 gcc 
> pacman -S gcc  或者 > pacman -S mingw-w64-ucrt-x86_64-gcc
查看gcc版本
> gcc --version
> export PATH="/usr/bin:$PATH"

MSYS2 安装php开发环境
添加 PHP 存储库
/etc/pacman.conf 也就是 C:\msys64\etc\pacman.conf
[php]
Server = https://archlinux.org/packages/extra/x86_64/php/
#Server = https://archlinux.org/packages/extra/$arch/php/

搜索可用的与 PHP 相关的包
> pacman -Ss php

> pacman -S php php-devel


安装 bison
下载 bison 源代码 https://ftp.gnu.org/gnu/bison/
解压至 E:\httpserver\bison-3.8
在 MSYS2 终端中 C:\msys64\msys2.exe
> cd /e/httpserver/bison-3.8
> ./configure
> make
> make install


提供 bison.bat 文件供windows调用
--------------------------------------------------
@echo off
rem 设置 MSYS2 安装路径
set MSYS2_PATH=C:\msys64

rem 设置需要调用的 Bison 路径
set BISON_PATH=/e/httpserver/bison-3.8/src/bison.exe

rem 获取传入的文件路径作为参数
set FILE_PATH=%1

rem 执行 Bison 命令
%MSYS2_PATH%\usr\bin\bash.exe -lc "%BISON_PATH% %FILE_PATH%"
--------------------------------------------------


安装 phpize
https://windows.php.net/download/
下载带-devel的开发工具包 Development package (SDK to develop PHP extensions) 
例 https://windows.php.net/downloads/releases/php-devel-pack-8.3.6-Win32-vs16-x64.zip
解压到 E:\httpserver\php-8.3.6-devel-vs16-x64

进入下载的扩展源代码目录, 例 E:\httpserver\php-pear\downloads\amqp-2.1.2\amqp-2.1.2
通过 vs2022 工具 -> 命令行 -> 开发者命令提示
> cd E:\httpserver\php-pear\downloads\amqp-2.1.2\amqp-2.1.2
> cd /e/httpserver/php-pear/downloads/amqp-2.1.2/amqp-2.1.2
> E:
> phpize.bat
> configure --with-php-config="E:\httpserver\php-8.3.6-Win32-vs16-x64\php-config"
> configure --with-php-config="E:\httpserver\php-8.3.6-Win32-vs16-x64\php-config" --with-bison="E:\httpserver\bin_win_x86_64\bison.bat"
> make
> make install


814
function PATH_PROG(progname, additional_paths, symbol){ 中添加 }
添加
if (!place) {
    exe = progname + ".bat";
    place = search_paths(exe, additional_paths, "PATH");
}


3132 
var BISONVERS = probe_binary(BISON, "longversion");
BISONVERS = '3.8'; //加入
STDOUT.WriteLine('  Detected bison version ' + BISONVERS);
if (BISONVERS.match(/^\d+.\d+$/)) {
    BISONVERS += ".0";
}

3158
var RE2CVERS = probe_binary(RE2C, "version");
RE2CVERS = "re2c 3.1"; //加入
STDOUT.WriteLine('  Detected re2c version ' + RE2CVERS);

if (RE2CVERS.match(/^\d+.\d+$/)) {
    RE2CVERS += ".0";
}

这篇关于phpize +Visual Studio + MSYS2 + bison 草稿记录并未正常完成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/970437

相关文章

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密