当前位置:

首页 > 软件教程 > WeChatFerry 编译失败怎么解决

WeChatFerry 编译失败怎么解决

早些时候,有群友反馈编译失败。起初,我还会提醒不是开发人员别折腾。后来就放任不管,假装没看见。有一次,有群友提到编译失败,还发了截图,我记得是类似'magic_enum.hpp':Nosuchfileordirectory的错误。我也没在意,选择了忽略。前段时间,有群友提交了一个PR,实现了3.9.11.25版本。我合并后发现GithubAction无法自动编译发布。我一度认为是修改脚本的原因,反复调整了好几次,问题依然存在。直到回滚到之前有效的脚本,编译还是不行,才开始认真查看

本文目录

    WeChatFerry 编译失败原因

    早些时候,有群友反馈编译失败。

    起初,我还会提醒不是开发人员别折腾。

    后来就放任不管,假装没看见。

    有一次,有群友提到编译失败,还发了截图,我记得是类似 'magic_enum.hpp': No such file or directory 的错误。

    我也没在意,选择了忽略。

    前段时间,有群友提交了一个 PR,实现了 3.9.11.25 版本。我合并后发现 Github Action 无法自动编译发布。

    我一度认为是修改脚本的原因,反复调整了好几次,问题依然存在。

    直到回滚到之前有效的脚本,编译还是不行,才开始认真查看编译错误。

    (先入为主是大忌啊!)

    其实错误很简单:

    D:\a\WeChatFerry\WeChatFerry\WeChatFerry\spy\rpc_server.cpp(14,10): fatal error C1083: Cannot open include file: 'magic_enum.hpp': No such file or directory [D:\a\WeChatFerry\WeChatFerry\WeChatFerry\spy\spy.vcxproj]

    这很奇怪,我在开发机上可以编译,但在 Github Action 上不行,肯定是 Github Action 的问题。

    于是我反复修改 Github Action,但仍旧无效。

    前几天,穆老师送了我一台 4C8G12M 的机器,我安装了 Windows Server 2022。

    正好搭建一下编译环境。

    天哪,累死我了。

    首先,项目拉不下来。

    没关系,我还有台日本的机器,借个道吧。

    谁知,同是 PHP 中文网,借道更慢了。不过好歹能下载。

    ……

    等了半天,终于把环境搭建好了。

    编译试一下,咦,和上面一样的错误。

    这不科学啊,我开发机上是能用的呀。我把开发机的环境也重置一下。

    结果,开发机也编译不过去。

    好吧,我再研究一下编译日志:

    The following packages will be built and installed:    * abseil:x64-windows-static@20240722.0    * abseil:x64-windows@20240722.0    * fmt:x64-windows-static@11.0.2#1      magic-enum:x64-windows-static@0.9.7      minhook:x64-windows-static@1.3.3#4      nng:x64-windows-static@1.9.0    * protobuf:x64-windows@5.28.3      protobuf[core,zlib]:x64-windows-static@5.28.3      spdlog:x64-windows-static@1.15.0#1    * utf8-range:x64-windows-static@5.26.1    * utf8-range:x64-windows@5.26.1    * vcpkg-cmake:x64-windows@2024-04-23    * vcpkg-cmake-config:x64-windows@2024-05-23    * zlib:x64-windows-static@1.3.1  Additional packages (*) will be modified to complete this operation.  Restored 14 package(s) from C:\Users\runneradmin\AppData\Local\vcpkg\archives in 10 s. Use --debug to see more details.  Installing 1/14 vcpkg-cmake-config:x64-windows@2024-05-23...  ......  magic-enum provides CMake targets:      find_package(magic_enum CONFIG REQUIRED)      target_link_libraries(main PRIVATE magic_enum::magic_enum)

    很明显,依赖肯定是安装好了。为什么不行呢?

    看看代码:

    #include #include #include #include 

    没问题啊,一直是这么写的。

    看看路径:

    Administrator@* MINGW64 /c/Projs/WeChatFerry/WeChatFerry/vcpkg_installed/x64-windows-static/x64-windows-static/include (master)$ ls -altotal 156drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:53 ./drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:51 ../-rw-r--r-- 2 Administrator 197121  7503 Jan  7  2017 MinHook.hdrwxr-xr-x 1 Administrator 197121     0 Dec 30 15:24 absl/drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:52 fmt/drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:51 google/drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:20 magic_enum/drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:21 nng/drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:53 spdlog/drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:51 upb/drwxr-xr-x 1 Administrator 197121     0 Dec 30 15:51 upb_generator/-rw-r--r-- 2 Administrator 197121   540 Dec  4 03:41 utf8_range.h-rw-r--r-- 2 Administrator 197121   712 Dec  4 03:41 utf8_validity.h-rw-r--r-- 2 Administrator 197121 17342 Dec 30 15:21 zconf.h-rw-r--r-- 2 Administrator 197121 96829 Jan 23  2024 zlib.h

    怎么会多一层呢?

    好吧,我改一下代码。

    另外,再向之前问过这问题的群友道个歉吧。

    不过啊,如果你真是个开发人员,这问题也是很好解决的嘛……

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程 编译错误
    相关文章 更多
    Java子类未实现抽象方法编译错误修复指南
    Java子类未实现抽象方法编译错误修复指南

    针对Java开发中常见的“子类未实现抽象方法”编译错误,深入分析报错原因,提供重写实现、声明抽象子类两种标准修复路径,并总结参数签名、访问修饰符等典型避坑要点。

    如何修复Java温度判断程序中的编译错误:缺失返回语句与逻辑漏洞
    如何修复Java温度判断程序中的编译错误:缺失返回语句与逻辑漏洞

    Java温度转换方法中,if-elseif结构因逻辑缺口(如条件恒为真或缺失部分温度区间)导致编译报“missingreturnstatement”错误。修正逻辑并补充完整代码,可同时解决编译错误与逻辑漏洞。

    如何正确访问Java对象的私有字段并避免编译错误
    如何正确访问Java对象的私有字段并避免编译错误

    Java中“字段无法解析”的编译错误常由构造函数赋值方向错误或方法参数类型不匹配导致。正确做法是在构造函数中使用`this.字段=参数`进行赋值,并确保方法参数声明为具体的对象类型而非通用父类。遵循封装原则,使用getter方法访问私有字段,同时注意空指针检查和资源管理,可编写出更健壮的代码。

    C++编译错误“expected '}' at end of input”通常表示你的代码中存在语法错误,导致编译器在文件末尾没有找到预期的右大括号(})。这可
    C++编译错误“expected '}' at end of input”通常表示你的代码中存在语法错误,导致编译器在文件末尾没有找到预期的右大括号(})。这可

    该错误通常由C++代码中大括号未闭合或语法结构不完整引起,需检查以下三点:1.所有大括号是否成对出现,尤其注意嵌套结构中的匹配;2.是否存在未闭合的注释或字符串字面量导致编译器误判;3.头文件中类或结构体定义是否正确闭合并加分号。此外还需排查宏定义、隐藏字符等细节问题。

    C++函数模板实例化与编译错误处理
    C++函数模板实例化与编译错误处理

    C++函数模板的编译错误主要源于类型推导失败、定义不可见或依赖名称解析问题。解决方法包括显式指定模板参数、将模板定义置于头文件中以确保可见性,以及使用typename和template关键字消除依赖名称的歧义。链接错误常因模板未在使用点可见导致,推荐将实现放入头文件或进行显式实例化。重载解析遵循优先级规则:精确匹配>标准转换>用户定义转换>省略号,非模板函数优先于模板函数,更特化的模板优先于泛化版本。正确理解这些机制可有效避免常见陷阱。

    编译报错undefined package怎么解决?
    编译报错undefined package怎么解决?

    遇到“undefinedpackage”编译错误时,首先确认引用的包是否已正确安装,再依次检查路径配置、代码引用方式、缓存、版本冲突、IDE设置及兼容性。1.确认包已安装:使用对应包管理工具检查并安装缺失包;2.检查路径配置:确保环境变量如NODE_PATH、PYTHONPATH、GOPATH正确;3.验证代码引用方式:确保拼写和语法正确;4.清理缓存:执行相应命令清除编译器或包管理工具的缓存;5.解决版本冲突:利用版本锁定文件确保依赖一致性;6.检查IDE设置:确认IDE中项目环境配置正确;7.确认兼容

    C++编译错误“变量X隐藏了参数”怎么解决?
    C++编译错误“变量X隐藏了参数”怎么解决?

    变量遮蔽是指在函数内部声明与参数同名的变量,导致外层变量被隐藏。例如函数参数为inta,函数内部又声明inta会引发冲突。常见场景包括函数内误用相同变量名或循环变量撞名。解决方法有:1.修改局部变量名;2.若想复用参数值则直接赋值而非重新声明;3.避免使用通用变量名;4.启用编译器警告并借助IDE检查;5.统一命名风格以区分作用域。

    如何解决Java中遇到的编译错误
    如何解决Java中遇到的编译错误

    如何解决Java中遇到的编译错误在使用Java编程语言开发应用程序时,遇到编译错误是很常见的情况。这些错误可能由于语法错误、类型错误、拼写错误、语义错误等原因引起。为了提高编程效率和减少调试时间,解决编译错误是非常重要的。本文将介绍一些常见的编译错误,并提供一些解决方法以帮助读者更好地解决Java编译错误。一、语法错误语法错误是最常见的编译错误之一。它们通常

    Java错误:Java11本机编译错误,如何处理和避免
    Java错误:Java11本机编译错误,如何处理和避免

    Java作为一种十分常用的编程语言,一直以来都备受开发者的青睐,不仅具有跨平台性、面向对象特性和可移植性等优点,更可以应用于各种领域的开发。然而,即使已经发展到Java11的版本,它也不能免俗地出现了一些本机编译错误。既然问题已经存在,那么我们就需要找到处理方法,以及如何避免这些错误的出现。Java11本机编译错误的类型在使用Java11进行编程时,可能会遇

    typora怎么高亮 文本标记语法设置
    typora怎么高亮 文本标记语法设置

    本教程演示如何在 Windows 版 Typora 中开启 Highlight 高亮功能,通过双等号语法标记重点文本,并展示如何编辑、取消高亮及验证源码保存状态。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。