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";
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/602538.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

新一代智慧音视频平台,企业必备新基建

随着5G、云计算、实时音视频、多模态、大模型、数字人等前沿技术的发展,企业与客户的交互方式正加速趋于移动化、视频化。 国家有关部门也相继出台系列政策法规,确保线上业务安全合规,以保障消费者权益。如,针对保险、银行、证券…

思维导图怎么画?一文掌握绘制技巧

思维导图怎么画?你是不是还在为不知道怎么绘制思维导图而困惑?别担心,看完这篇文章就可以掌握绘制思维导图的基础步骤了。一起来看看吧! 一、思维导图的基本结构 思维导图通常由中心节点、分支节点和子节点组成。中心节点是思维导…

【基于 PyTorch 的 Python深度学习】5 机器学习基础(1)

前言 文章性质:学习笔记 📖 学习资料:吴茂贵《 Python 深度学习基于 PyTorch ( 第 2 版 ) 》【ISBN】978-7-111-71880-2 主要内容:根据学习资料撰写的学习笔记,该篇主要介绍了机器学习的基本任务、机器学习的一般流程&…

活动预约小程序源码系统 自定义预约表单+收费项目 带完整的安装代码包以及系统部署教程

数字化时代的快速发展,活动预约管理已经成为许多企业和个人不可或缺的一部分。为满足这一需求,我们特别开发了一款活动预约小程序源码系统,该系统不仅具备自定义预约表单的功能,还支持收费项目,旨在为用户提供更加便捷…

Garden Planner for Mac/win:打造您专属的绿意空间

随着城市化进程的加速,绿色空间对于现代人来说愈发珍贵。为满足人们对美好生活的追求,我们特推出了一款功能强大的园林绿化设计软件——Garden Planner for Mac/win。这款软件将帮助您轻松规划和设计您的花园、菜园或庭院,让绿意成为您生活的…

刷代码随想录有感(59):二叉搜索树的最近公共祖先

题干: 代码: class Solution {递归实现 public:TreeNode* traversal(TreeNode* root, TreeNode* p, TreeNode* q){if(root NULL)return NULL;if(root->val > p->val && root->val > q->val){TreeNode* left traversal(root…

高速开箱机价格与性能解析:如何挑选适合您的开箱解决方案?

随着电商和物流行业的迅猛发展,高效、自动化的包装设备成为了提升工作效率、减少人工成本的必备利器。高速开箱机作为其中的重要一环,其性能与价格成为了许多企业和个人关注的焦点。星派将深入探讨高速开箱机的价格与性能之间的关系,帮助您在…

视频封面一键提取:从指定时长中轻松获取您想要的帧图片

在数字媒体时代,视频已成为人们获取信息、娱乐和沟通的主要形式之一。而一个好的视频封面,往往能够吸引观众的眼球,增加视频的点击率和观看量。然而,对于很多视频创作者和编辑者来说,如何从视频中快速、准确地提取出合…

代码随想录算法训练营第二十天:二叉树成长

代码随想录算法训练营第二十天:二叉树成长 110.平衡二叉树 力扣题目链接(opens new window) 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝…

俄罗斯副总理暗示欧佩克+或增加原油产量,亚洲早盘油价小幅下跌

在俄罗斯副总理亚历山大诺瓦克暗示欧佩克可能采取行动增加原油产量后,亚洲早盘的油价出现小幅下跌。这一消息引起了市场对原油供给增加的担忧,导致油价走低。 City Index和FOREX.com的市场分析师Fawad Razaqzada表示,虽然原油价格在技术上尚…

C语言例题37、输入三组数字,按照从小到大的顺序排列输出

#include<stdio.h>int main() {int num[3];printf("请输入3组数字&#xff1a;");for (int i 0; i < 3; i)scanf("%d", &num[i]);for (int i 0; i < 2; i) { //每次选出最小值放在数组前面for (int j i 1; j < 3; j) {if (num[j] …

day_21

很简单&#xff0c;两个指针&#xff0c;指向1和n依次输出&#xff0c;然后自加自减即可。这样可以保证任意非两边的数同时大于或小于左邻和右邻的数。 看代码 #include <iostream> using namespace std;int main() {int n;cin >> n;int i 1, j n;while(i <…

带你快速掌握Spring Task

Spring Task ⭐Spring Task 是Spirng框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑 &#x1f4cc;一款定时任务框架 应用场景 信用卡信息银行贷款信息火车票信息 只要是需要定时处理的场景都可以使用Spring Task 只要有定时&#xff0c;就会有…

QT7_视频知识点笔记_2_对话框,布局,按钮,控件(查看帮助文档找功能函数)

第二天&#xff1a; 对话框&#xff0c;布局&#xff0c;按钮 QMainWindow&#xff1a;菜单下拉框添加之后可通过ui->actionXXX&#xff08;自定义的选项名&#xff09;访问&#xff0c;用信号triggered发出信号&#xff0c;槽函数可以使用lambda表达式进行 //菜单栏&am…

一文搞懂MySQL索引的数据结构

一、引言 在数据库管理系统中&#xff0c;索引是提高查询性能的关键所在。对于MySQL这类关系型数据库来说&#xff0c;索引更是其优化查询不可或缺的一部分。索引能够大大加快数据的检索速度&#xff0c;减少数据库的I/O操作&#xff0c;提高数据库的整体性能。本文将从索引的…

U盘管控软件,禁止员工用U盘拷贝机密数据,防止信息通过U盘泄露

随着信息技术的不断发展&#xff0c;U盘等便携式存储设备已成为我们日常工作中不可或缺的工具。然而&#xff0c;随着U盘的普及&#xff0c;企业面临的信息泄露风险也在不断增加。为了确保企业的信息安全&#xff0c;许多企业开始采用U盘管控软件&#xff0c;禁止员工使用U盘拷…

Gen-2颠覆AI生成视频!一句话秒出4K高清大片,网友:彻底改变游戏规则

这&#xff0c;绝对称得上是生成式AI进程中的里程碑。 就在深夜&#xff0c;Runway家标志性的AI视频生成工具Gen-2&#xff0c;迎来了“iPhone时刻”般的史诗级更新—— 依旧是简单一句话输入&#xff0c;不过这一次&#xff0c;视频效果一口气拉到了4K超逼真的高度&#xff…

Linux各目录及每个目录的详细介绍

目录 /bin 存放二进制可执行文件(ls,cat,mkdir等)&#xff0c;常用命令一般都在这里。 /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录&#xff0c;是用户主目录的基点&#xff0c;比如用户user的主目录就是/home/user&#xff0c;可以用~user表示 /us…

DInet

&#xff08;1&#xff09;数据&#xff1a; 1&#xff09;&#xff1a;随机获取5帧参考帧 2&#xff09;&#xff1a;处理这5帧连续帧&#xff0c;:source_frames:连续5帧的crop_moth b)audio_list:连续5帧的每一帧对应的5帧音频mel特征 c):refs:fintune 固定参考帧&#xff0…

「PolarDB-X入门到精通」第六讲:MySQL生态兼容

在上一阶段的课程中&#xff0c;已经和大家一起了解了PolarDB分布式数据库的产品架构&#xff0c;并且带领大家一起分别通过PXD、源码编译完成了PolarDB-X 的安装部署。在接下来的课程中&#xff0c;我们将继续带领大家一起学习PolarDB-X的产品特性。 在本期的课程中&#xff0…
最新文章