递归火山软件开发平台

标题: 视窗封装问题再论02 [打印本页]

作者: 沉默流星    时间: 2025-7-23 11:18
标题: 视窗封装问题再论02
论火山视窗类库封装难度问题 - 火山平台俱乐部 - 递归火山软件开发平台 - Powered by Discuz!

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



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

作者: yonglian    时间: 2025-7-23 11:30
封装大佬
作者: 龙纹    时间: 2025-7-23 14:43
本帖最后由 龙纹 于 2025-7-23 14:45 编辑

这类问题早就有了, 空项目引入<chrono>, 火山宏和标准库代码会冲突, 解决方法是手动调整头文件全局顺序, 几年了也没见修改.
现在大家都能借助AI写出C++代码, 假设写一个计时类, 在VS里能正常运行, 想封装到火山自己使用, 不深入去了解C++并且深入了解火山是封装不了的(遇到此类冲突需要调整头文件引入顺序而且需要知道怎么在火山中调整).
很多人都说封装难, 就是因为这些"隐藏"的难点
作者: 沉默流星    时间: 2025-7-23 15:06
本帖最后由 沉默流星 于 2025-7-23 15:10 编辑
龙纹 发表于 2025-7-23 14:43
这类问题早就有了, 空项目引入, 火山宏和标准库代码会冲突, 解决方法是手动调整头文件全局顺序, 几年了也没 ...

是的,这个范围值如何确定的,我也是一知半解。我都是给个大概值然后调试,如果报错再修改。一直到通过为止。
不知道你是如何做的。

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

手动测试, 结果如下:

(, 下载次数: 34) (, 下载次数: 37)

vol_mfc.h  : 100
vol_base.h : 110
mfc_ui_base.h : 300
mfc_ui_base_controls.h : 1000以上(默认值1000)

作者: 沉默流星    时间: 2025-7-23 16:10
龙纹 发表于 2025-7-23 16:04
手动测试, 结果如下:

好的,谢谢




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4