递归火山软件开发平台

标题: 论火山视窗类库封装难度问题 [打印本页]

作者: 沉默流星    时间: 2025-7-23 10:31
标题: 论火山视窗类库封装难度问题
1.封装开源项目时,首先要解决的是头文件冲突问题。
这个问题才是重点,为啥呢?因为VS新建项目中同样使用的头文件包含目录,但VS不报错。
火山中引入相同的头文件则报错。
这种问题就很难搞。
有些报错是开源项目和某个微软函数冲突导致的,有些判断不出来是啥问题导致的。




如:我碰到的封装OGRE游戏引擎
VS中新建的项目属性页就配置了
附加包含目录和附加库目录和输入,其他是新建项目时默认的属性。
(, 下载次数: 61)

(, 下载次数: 61)

(, 下载次数: 62)

(, 下载次数: 59)

(, 下载次数: 61)
火山中跟VS同步属性配置,为啥就会报冲突问题呢。
(, 下载次数: 61)

(, 下载次数: 63)

(, 下载次数: 61)

碰到这种问题就很难搞,完全没有思路。当前我也卡在这。市面上也没相关教程
我搜简述(谐音),CSDn、知户(谐音)、各种AI都询问过都没有相关的教程。AI给的方案也试过也处理不了。



2.嵌入有难度
视窗封装需要各种嵌入符号来回组合,C++都没这么复杂。封装视窗类库相当于掌握C++和各种嵌入符号。
这种就需要降低嵌入符号的组合,最好使用几个符号就能封装市面上百分之60的开源项目。


作者: 摘星揽月    时间: 2025-7-23 10:35
顶一下
作者: 沉默流星    时间: 2025-7-23 10:38
本帖最后由 沉默流星 于 2025-7-23 10:40 编辑

补充一点,火山中C++17是我为了测试使用高版本,视窗是不是就不会报头文件冲突问题了。但经过测试就算正成高版本也不行。说明不是C++版本问题导致的冲突。
而不是开源项目使用的C++17。
作者: Xelloss0618    时间: 2025-7-23 11:59
是你的常量类型PI,跟火山的vol_decl.h里的PI宏冲突了。
作者: 沉默流星    时间: 2025-7-23 12:09
Xelloss0618 发表于 2025-7-23 11:59
是你的常量类型PI,跟火山的vol_decl.h里的PI宏冲突了。

是的,这个我也验证了,的确是视窗中的头文件
https://bbs.voldp.com/thread-26696-1-1.html
作者: 沉默流星    时间: 2025-7-23 12:10
Xelloss0618 发表于 2025-7-23 11:59
是你的常量类型PI,跟火山的vol_decl.h里的PI宏冲突了。

我奇怪的是您是如何快速定位是视窗的头文件冲突了,也是转VS项目查看的嘛,能否分享下经验
作者: Xelloss0618    时间: 2025-7-23 15:56
沉默流星 发表于 2025-7-23 12:10
我奇怪的是您是如何快速定位是视窗的头文件冲突了,也是转VS项目查看的嘛,能否分享下经验 ...

先搜了 语法错误:"常数",看到错误原因之一就是跟宏有关。
再看常量名是 PI 圆周率,就有印象了,因为以前大致看过火山的宏。
作者: 沉默流星    时间: 2025-7-23 16:09
Xelloss0618 发表于 2025-7-23 15:56
先搜了 语法错误:"常数",看到错误原因之一就是跟宏有关。
再看常量名是 PI 圆周率,就有印象了,因为以 ...

好的谢谢
作者: 它来了它来了    时间: 2025-7-23 23:36
火山的万事通非 X 大莫属  有时候我都怀疑他是机器人  问题一眼就知道哪里的问题
作者: cxz7411    时间: 2025-7-24 06:11
吴总请首先解决引用c++的兼容和简便,引用后嵌入语句有函数和参数提示,像非嵌入语句一样的,解决冲突等,这才是首要问题




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