构建COBOL批处理时发生加载错误-“;cob32api“;找不到

构建COBOL批处理时发生加载错误-“;cob32api“;找不到,api,cobol,microfocus,Api,Cobol,Microfocus,有人能解释一下cob32api是做什么的吗 我的任务是将批处理cobol系统从32位Windows迁移到64位Linux。大量程序调用属于NETExpress的“cob32api”。与netexpress相当的Linux是serverexpress,但我完全不清楚这个特定的调用实际上做了什么。似乎不需要任何参数。遗憾的是,也没有评论解释它的用途 当我尝试构建时,自然会出现错误: Load error : file 'cob32api' error code: 173, pc=0, call=1

有人能解释一下cob32api是做什么的吗

我的任务是将批处理cobol系统从32位Windows迁移到64位Linux。大量程序调用属于NETExpress的“cob32api”。与netexpress相当的Linux是serverexpress,但我完全不清楚这个特定的调用实际上做了什么。似乎不需要任何参数。遗憾的是,也没有评论解释它的用途

当我尝试构建时,自然会出现错误:

Load error : file 'cob32api' 
error code: 173, pc=0, call=1, seg=0 173 
Called program file not found in drive/directory
有人能帮我吗


提前谢谢。

好的,我找到了一位同事,他做过这方面的工作,知道这意味着什么。需要调用cob32api,以便相关cobol程序以及任何子模块可以调用Windows API。这就解释了为什么相应的库(cob32api.dll)没有Linux等价物

我的问题的简单解决方案是:完全取消呼叫

我希望这能帮助任何遇到类似问题的人

谢谢你的评论

其他信息: 删除“cob32api”调用会对我提到的子模块产生影响。有很多这样的电话

调用WINAPI“windows函数名”…


这些导致了以后的编译错误,因此需要更换。

这是一个用于(我想?)与系统接口的共享库?运行库?这里没有足够的信息。它似乎正在设置一个“环境”,然后使用该环境支持的各种调用。如果您在此处找不到使用答案,请联系Micro Focus支持。我相信他们会很高兴告诉您需要什么。您还可以添加一个“on exception continue”子句或使用CBL_GET_OS_INFO在运行时确定您在Unix平台上执行。不幸的是,它甚至没有进入运行时。。。首先,我的问题是构建系统。此外,我有点过时,更喜欢处理异常,而不是跳过它们。但这只是个人喜好;-)我同意,但在这种情况下,调用“cob32api”只会确保在user32、gdi32、kernel32和C运行时中找到的符号对COBOL程序可见。由于Unix COBOL运行时没有此例程或没有访问这些“Windows DLL”的权限,因此在Unix上发生的所有情况是,对Windows API本身的实际调用将失败,从而使您更好地理解此问题。