今天继续调试VB6在国产操作系统下的编译问题

上次把vb6安装到统信UOS上,ide 是跑起来了,但是编译的时候遇到了问题

因为ide是GUI窗口,并且出错的时候没有显示具体的原因,只来个弹窗说出错了

就弹出个这玩意,谁知道是啥问题,无法捉摸

于是还得搬出命令行终端。跑到c2所在目录下,用wine跑以下看看具体报了什么错误

啊哈,fixme,原来是依赖的com组件错误,提示无法找到。

于是又回到vb6的ide打开部件列表看看。

“Microsoft.Windows.Common-Controls” 应该是原生windows公共控件对象,打开部件列表还真找到了它,选择SP6的版本,勾上,确定,看看啥问题。

咦,奇怪了,部件列表可以加载该对象,但是引用的时候却提示“对象库未注册”。这是啥玩意?

试了下SP2的5.0版本,可以正常工作,

赶紧回到windows下对比了下这俩对象的依赖

看起来并没有什么差别,SP2依赖的东西,SP6都有,甚至SP2依赖更多。

说明依赖应该不是问题了,问题就出在SP6自己身上。

再次来到终端wine下跑一次,错误信息变了,

没有提示com组件了,根据fixme信息搜索,

handle_IRP_MN_QUERY_ID Unhandled type 00000005

找到一堆没有结果的答案,这下有点抓虾了。。。

今天又卡在这里了。晕菜。

最后,的最后,尝试运行了 LINK.EXE,居然正常,算是唯一的安慰。毕竟这也是编译过程的必然条件。可以少修一个BUG了

仔细一看,这个LINK 也有 fixme 错误,这说明这个不是主要致命问题,算了,坐等大佬破案吧。

Views: 347

Hi, I’m 邓伟

本来无一物,何处惹尘埃

2 Comments

发表回复