递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
楼主: 大有可为
打印 上一主题 下一主题

[AI开发] AI封库 libwebp 图片转换库 支持互转

[复制链接]

1

主题

110

帖子

687

积分

高级会员

Rank: 4

积分
687
QQ
41#
发表于 2026-4-9 10:38:55 | 只看该作者
谢谢大佬分享
业余使用火山PC 对powermill  和NX 进行二次开发
回复

使用道具 举报

18

主题

213

帖子

2607

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
2607
QQ
42#
发表于 2026-4-9 13:12:21 | 只看该作者
666
回复

使用道具 举报

2

主题

64

帖子

375

积分

中级会员

Rank: 3Rank: 3

积分
375
43#
发表于 2026-4-9 15:09:35 | 只看该作者
已经更新支持互转,请重新下载
回复

使用道具 举报

0

主题

15

帖子

54

积分

新手上路

Rank: 1

积分
54
44#
发表于 2026-4-13 00:27:20 | 只看该作者
666666666666
回复

使用道具 举报

16

主题

76

帖子

573

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
573
45#
发表于 2026-4-16 11:14:07 | 只看该作者
6666
回复

使用道具 举报

8

主题

70

帖子

508

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
508
46#
发表于 5 天前 | 只看该作者
11111111
回复

使用道具 举报

0

主题

23

帖子

535

积分

高级会员

Rank: 4

积分
535
47#
发表于 4 天前 | 只看该作者
您要查看本帖隐
回复

使用道具 举报

479

主题

2932

帖子

1万

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
10327
48#
发表于 前天 22:53 | 只看该作者
今天试了下你的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库)。
回复

使用道具 举报

479

主题

2932

帖子

1万

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
10327
49#
发表于 前天 22:55 | 只看该作者
shuimiao 发表于 2026-4-28 22:53
今天试了下你的AI封的这个库,编译不了

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

64位没问题,编译32位他报错这个:error LNK2019: 无法解析的外部符号 __dtoul3_legacy
回复

使用道具 举报

68

主题

646

帖子

4501

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
4501
QQ
50#
 楼主| 发表于 昨天 10:49 | 只看该作者
shuimiao 发表于 2026-4-28 22:55
64位没问题,编译32位他报错这个:error LNK2019: 无法解析的外部符号 __dtoul3_legacy ...

使用小米模型MiMo-V2.5-Pro 修复了,重新下载
火山学习交流群: 1027649189
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-30 00:04 , Processed in 0.097631 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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