递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1044|回复: 5
打印 上一主题 下一主题

[类库封装] 视窗封装问题再论02

[复制链接]

279

主题

1958

帖子

7836

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
7836
QQ
跳转到指定楼层
楼主
发表于 2025-7-23 11:18:02 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
论火山视窗类库封装难度问题 - 火山平台俱乐部 - 递归火山软件开发平台 - Powered by Discuz!

续上个帖子,我想到一个方案
步骤01
在火山中先定位具体那个头文件报错,然后把其他头文件注释掉,只保留一个
步骤02
编译,之后打开火山视窗生成的C++代码,然后使用三方工具转换成VS项目
注意:这里提一嘴:之前吴总想让视窗支持cmake的然后发帖询问情况,结果某些火友自以为是,为了甜(谐音)吴总,说谎,最后吴总选择不支持cmake编译了。真是一大遗憾。要想转VS项目还得借助三方工具来间接实现。
步骤03
使用VS打开三方工具生成的VS项目,然后调试。
调试之后肯定报错,打开报错位置,然后进行跳转就可以知道与啥冲突。

跳转之后,发现与视窗的核心官方头文件名为vol_decl.h里的宏PI冲突




综合上述,火山视窗应该想个办法解决这种冲突问题。
当然进行嵌入宏判断也可以进行解决,但这种对封装用户的技术是有要求的。
火山视窗封装视频教程
回复

使用道具 举报

279

主题

1958

帖子

7836

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
7836
QQ
6#
 楼主| 发表于 2025-7-23 16:10:30 | 只看该作者
龙纹 发表于 2025-7-23 16:04
手动测试, 结果如下:

好的,谢谢
火山视窗封装视频教程
回复

使用道具 举报

8

主题

105

帖子

3156

积分

论坛元老

Rank: 8Rank: 8

积分
3156
5#
发表于 2025-7-23 16:04:35 | 只看该作者
本帖最后由 龙纹 于 2025-7-23 16:06 编辑
沉默流星 发表于 2025-7-23 15:06
是的,这个范围值如何确定的,我也是一知半解。我都是给个大概值然后调试,如果报错再修改。一直到通过为 ...

手动测试, 结果如下:



vol_mfc.h  : 100
vol_base.h : 110
mfc_ui_base.h : 300
mfc_ui_base_controls.h : 1000以上(默认值1000)
火山PC交流群: 748413192
回复

使用道具 举报

279

主题

1958

帖子

7836

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
7836
QQ
地板
 楼主| 发表于 2025-7-23 15:06:30 | 只看该作者
本帖最后由 沉默流星 于 2025-7-23 15:10 编辑
龙纹 发表于 2025-7-23 14:43
这类问题早就有了, 空项目引入, 火山宏和标准库代码会冲突, 解决方法是手动调整头文件全局顺序, 几年了也没 ...

是的,这个范围值如何确定的,我也是一知半解。我都是给个大概值然后调试,如果报错再修改。一直到通过为止。
不知道你是如何做的。
火山视窗封装视频教程
回复

使用道具 举报

8

主题

105

帖子

3156

积分

论坛元老

Rank: 8Rank: 8

积分
3156
板凳
发表于 2025-7-23 14:43:02 | 只看该作者
本帖最后由 龙纹 于 2025-7-23 14:45 编辑

这类问题早就有了, 空项目引入<chrono>, 火山宏和标准库代码会冲突, 解决方法是手动调整头文件全局顺序, 几年了也没见修改.
现在大家都能借助AI写出C++代码, 假设写一个计时类, 在VS里能正常运行, 想封装到火山自己使用, 不深入去了解C++并且深入了解火山是封装不了的(遇到此类冲突需要调整头文件引入顺序而且需要知道怎么在火山中调整).
很多人都说封装难, 就是因为这些"隐藏"的难点
火山PC交流群: 748413192
回复

使用道具 举报

0

主题

24

帖子

386

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
386
沙发
发表于 2025-7-23 11:30:40 | 只看该作者
封装大佬
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-31 04:08 , Processed in 0.099280 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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