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

相关文章

安卓链接正常显示,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加密

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

msys2 minggw-w64 cygwin wsl区别

1 mingw-w64,这是gcc一直win平台下产生的,所以是win版的gcc,既支持32也支持64bit 2cygwin专注于原样在windows上构建unix软件, 3msys让Linux开发者在windows上运行软件,msys2专注于构建针对windows api构建的本机软件 4 wsl  windows subsystem for linux 是一个在windows 10 上能

Weex入门教程之2,Android Studio安装Weex插件

插件位置及描述 https://plugins.jetbrains.com/idea/plugin/8460-weex 貌似对windows还不是很支持,先放着吧。 安装 插件功能 先预览下都有什么功能 安装完成Weex插件后,如果在main toolbar找不到这些功能图标,那么就需要手动添加到main toolbar 添加到main toolbar 红框内就是