递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库

AI封库 libwebp 图片转换库 支持互转

查看数: 6130 | 评论数: 54 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2026-4-3 09:05

正文摘要:

replyreload += ',' + 242856; 本帖最后由 大有可为 于 2026-4-29 10:48 编辑 libwebp提供 WebP 图片文件导出为 PNG、BMP、JPG 的支持. 来源地址: https://GITHUB.com/webmproject/libwebp 游客,如果 ...

回复

大有可为 发表于 2026-4-4 11:39:26
shuimiao 发表于 2026-4-4 11:02
大佬,有没有png等传统格式转webp的库

已经更新支持互转,请重新下载
虫行天下 发表于 昨天 21:35
学习学习
Fang0x378 发表于 2026-5-4 22:00:51
厉害呀啊
aizaizheli 发表于 2026-4-30 23:26:14
踩踩踩踩踩踩踩踩踩踩踩踩从
lq55232556 发表于 2026-4-29 16:57:31
哈哈哈哈哈哈哈哈哈
shuimiao 发表于 2026-4-29 11:56:19
大有可为 发表于 2026-4-29 10:49
使用小米模型MiMo-V2.5-Pro 修复了,重新下载

好的。不知道MiMo-V2.5-Pro强还是DeepSeek-v4-pro强
大有可为 发表于 2026-4-29 10:49:40
shuimiao 发表于 2026-4-28 22:55
64位没问题,编译32位他报错这个:error LNK2019: 无法解析的外部符号 __dtoul3_legacy ...

使用小米模型MiMo-V2.5-Pro 修复了,重新下载
shuimiao 发表于 2026-4-28 22:55:26
shuimiao 发表于 2026-4-28 22:53
今天试了下你的AI封的这个库,编译不了

看着这个编译错误,我来帮你逐一分析解决。

64位没问题,编译32位他报错这个:error LNK2019: 无法解析的外部符号 __dtoul3_legacy
shuimiao 发表于 2026-4-28 22:53:21
今天试了下你的AI封的这个库,编译不了

看着这个编译错误,我来帮你逐一分析解决。

## 问题分析

你的编译主要有两类问题:

### 1. 核心错误:链接器找不到 `__dtoul3_legacy` 符号
```
error LNK2019: 无法解析的外部符号 __dtoul3_legacy
这是导致编译失败的直接原因。`__dtoul3_legacy` 是旧版 Visual C++ 运行时库中的一个内部辅Zhu函数,用于将无符号整数转换为长整数。

**根本原因**:这个错误通常发生在 32 位程序编译中,当项目使用的某些静态库(如你的 `libwebp.lib`)是用较旧版本的 Visual Studio 编译时,会引用这个符号。而新版 VS 编译器(你用的是 VS 2019/2022 工具集)的运行时库中可能已经移除了这个符号,或者你的项目配置中没有正确链接所需的旧版运行时库。

### 2. 其他可忽略的警告
- `warning C4819`:文件编码问题,不影响编译
- `warning C4244`:浮点数精度丢失警告,不影响
- `warning C4700`:未初始化变量(来自 Edge 浏览器组件,是第三方库的问题)
- `warning C4552`:表达式结果未使用

## 解决方案(按推荐顺序)

### 方案一:重新编译 libwebp 库(最推荐)
这是解决问题的根本方法。用你当前使用的 Visual Studio 版本重新编译 libwebp 源码,生成的新库就不会引用旧符号了。

1. 下载 libwebp 源码:https://GITHUB.com/webmproject/libwebp
2. 用 VS 2019/2022 打开项目,编译 32 位 Release/Debug 版本
3. 将生成的 `libwebp.lib` 替换到火山平台的库目录中

### 方案二:修改链接器设置
如果不想重新编译,可以尝试让链接器兼容旧符号:

1. 在火山项目属性 → 链接器 → 命令行中,添加链接旧版运行时库:
   ```
   /DEFAULTLIB:legacy_stdio_definitions.lib
   ```
2. 或者添加 `/NODEFAULTLIB:msvcrtd.lib` 并链接旧版 C 运行时

### 方案三:切换到 64 位编译
从论坛讨论来看,这个符号问题在 **64 位编译时不会出现**。如果你的项目不需要必须输出 32 位程序,可以尝试:

- 火山项目属性 → 编译选项 → 目标平台,改为 `x64` 或 `64位`

### 方案四:检查并修复 VS 安装
如果上述都不行,可能是 VS 工具链组件缺失:

1. 打开 Visual Studio Installer
2. 确保安装了"VC++ 2019/2022 生成工具"
3. 勾选"对 v142 生成工具 (最新版本) 的 C++ 支持"
4. 可选:安装"Windows 10 SDK" 或 "Windows 11 SDK"

## 关于其他警告

那些 `warning C4819`(编码问题)和 `warning C4244`(精度丢失)不影响最终程序运行,可以在火山项目属性中提高警告级别忽略。

---

**建议操作顺序**:先尝试方案三(切换到64位),最简单快速。如果必须用32位,再用方案一(重新编译libwebp库)。
hgy19880905 发表于 2026-4-26 13:07:46
您要查看本帖隐

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-5-25 01:49 , Processed in 0.093818 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表