论火山视窗类库封装难度问题
1.封装开源项目时,首先要解决的是头文件冲突问题。这个问题才是重点,为啥呢?因为VS新建项目中同样使用的头文件包含目录,但VS不报错。
火山中引入相同的头文件则报错。
这种问题就很难搞。
有些报错是开源项目和某个微软函数冲突导致的,有些判断不出来是啥问题导致的。
static/image/hrline/1.gif
如:我碰到的封装OGRE游戏引擎
VS中新建的项目属性页就配置了
附加包含目录和附加库目录和输入,其他是新建项目时默认的属性。
火山中跟VS同步属性配置,为啥就会报冲突问题呢。
碰到这种问题就很难搞,完全没有思路。当前我也卡在这。市面上也没相关教程
我搜简述(谐音),CSDn、知户(谐音)、各种AI都询问过都没有相关的教程。AI给的方案也试过也处理不了。
2.嵌入有难度
视窗封装需要各种嵌入符号来回组合,C++都没这么复杂。封装视窗类库相当于掌握C++和各种嵌入符号。
这种就需要降低嵌入符号的组合,最好使用几个符号就能封装市面上百分之60的开源项目。
本帖最后由 沉默流星 于 2025-7-23 10:40 编辑
补充一点,火山中C++17是我为了测试使用高版本,视窗是不是就不会报头文件冲突问题了。但经过测试就算正成高版本也不行。说明不是C++版本问题导致的冲突。
而不是开源项目使用的C++17。 顶一下 是你的常量类型PI,跟火山的vol_decl.h里的PI宏冲突了。 Xelloss0618 发表于 2025-7-23 11:59
是你的常量类型PI,跟火山的vol_decl.h里的PI宏冲突了。
是的,这个我也验证了,的确是视窗中的头文件
https://bbs.voldp.com/thread-26696-1-1.html Xelloss0618 发表于 2025-7-23 11:59
是你的常量类型PI,跟火山的vol_decl.h里的PI宏冲突了。
我奇怪的是您是如何快速定位是视窗的头文件冲突了,也是转VS项目查看的嘛,能否分享下经验 沉默流星 发表于 2025-7-23 12:10
我奇怪的是您是如何快速定位是视窗的头文件冲突了,也是转VS项目查看的嘛,能否分享下经验 ...
先搜了 语法错误:"常数",看到错误原因之一就是跟宏有关。
再看常量名是 PI 圆周率,就有印象了,因为以前大致看过火山的宏。 Xelloss0618 发表于 2025-7-23 15:56
先搜了 语法错误:"常数",看到错误原因之一就是跟宏有关。
再看常量名是 PI 圆周率,就有印象了,因为以 ...
好的谢谢 火山的万事通非 X 大莫属有时候我都怀疑他是机器人问题一眼就知道哪里的问题 吴总请首先解决引用c++的兼容和简便,引用后嵌入语句有函数和参数提示,像非嵌入语句一样的,解决冲突等,这才是首要问题
页:
[1]