当前位置: 首页 > news >正文

visual studio msvc 编译 libffi 静态库

说明

  • 最近需要在 windows 11 上编译 libffi,使用 Visual Studio 2022 MSVC。

  • 直接下载下来的 libffi,编译失败,主要是 汇编文件无法正常编译导致

  • 经过搜索发现,github 有个在 visual studio 上编译 libffi 的仓库,验证了一下发现可以正常编译,因此做个记录。

获取 libffi

  • 下载官方 libffi 库: https://github.com/libffi/libffi.git ,建议使用 git 拉取 git clone https://github.com/libffi/libffi.git

  • 下载 visual studio 上可以编译的 libffi 的仓库,地址 https://github.com/winlibs/libffi.git,建议 git 拉取代码 git clone https://github.com/winlibs/libffi.git

编译

  • 这里优先使用 visual studio 上可以编译的 libffi 的仓库 git clone https://github.com/winlibs/libffi.git

  • 当前编译环境是 Visual Studio 2022,编译为 x64 的,选择仓库下的 libffi-win32\win32\vs17_x64\libffi-msvc.sln

  • 打开后,直接编译,即可编译生成 libffi 的静态库

在这里插入图片描述

小结

  • 经过研究发现,原来 汇编文件,如 win64_intel.S 做了特殊的处理操作

  • visual studio 编译汇编文件的方法


cl.exe /EP /I . /I $(SolutionDir)..\.. /I $(SolutionDir)..\..\include /I $(SolutionDir)..\..\src\x86 $(SolutionDir)..\..\src\x86\win64_intel.S > $(Configuration)/win64_plain.asmml64.exe /c /Cx /Fo $(Configuration)/win64.obj $(Configuration)/win64_plain.asm

在这里插入图片描述

在这里插入图片描述

  • 参考 汇编文件,如 src\x86\win64_intel.S 的编译方法,官方最新 libffi 仓库,依旧可以使用 visual studio 正常编译为 【静态库】
http://www.dtcms.com/a/573643.html

相关文章:

  • 实现小程序 uniApp 输入框展示自定义表情包
  • uniapp ios android 本地离线debug
  • 基于HAL库实现GPIO输出状态控制输入状态查询及定时器PWM波和串口收发数据
  • 免费html网站哪里有广告设计培训机构
  • mysql三范式
  • RTOS多任务调度在西门子智能交通信号控制系统中的深度实践与优化
  • 【1】视觉SLAM的数学表达
  • Nginx高可用配置实战:负载均衡 + 健康检查 + 动态扩展
  • 邵阳建设银行网站是多少钱企业微信crm
  • 神经网络常见操作
  • GitCode 源启高校|北京邮电大学站:解锁开源力量,启航信息新航道
  • Hibernate之helloworld 案例
  • 建立企业网站的详细步骤爱站云网站建设heikw
  • SSM框架题库
  • 电子基础】逻辑器件全解析:从门电路到FPGA,选型与应用指南
  • 龙岩网站建设平台手机创建自己网站
  • 人工智能学习中深度学习之python基础之 类
  • K8s/Kubernetes(v1.23.17)三节点集群部署全过程的总结与问题回顾
  • 调试oracle函数性能(嵌入存储过程)
  • React 元素渲染
  • 个人开发者短信验证码接入指南-阿里云
  • 移动端优秀网站上海传媒公司名字
  • 建设一个网站的需求分析一个网站开发流程
  • PsPasswd(7.19):远程修改密码的边界与合规建议
  • 【钉钉多元表格(自动化)】钉钉群根据表格 自动推送当天值日生信息
  • LangFlow源码深度解析:Component核心机制与生态体系
  • dede织梦仿站网站建设做网站赚谁的钱
  • DropLoRA技术详解:克服大模型微调过拟合的创新方法
  • 【剑斩OFFER】算法的暴力美学——串联所有单词的字串
  • 学习Linux——进程管理