林试图编译在z / OS USS(那右大型机)Z / lib中。 Ive得到使用gmake和C89编译器(其即时通讯假设是C89符合标准)和USS应该是符合POSIX标准。

但是ZLIB似乎上

被绊倒
struct internal_state FAR *state; /* not visible by applications */

,错误如下(多个)

c89 -O3 -DUSE_MMAP -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_SOURCE   -c -o example.o example.c
ERROR CCN3277 ./zlib.h:92    Syntax error: possible missing ';' or ','?
ERROR CCN3007 ./zlib.h:92    "struct internal_state" is undefined.
ERROR CCN3166 ./zlib.h:103   Definition of function FAR requires parentheses.
ERROR CCN3276 ./zlib.h:103   Syntax error: possible missing '{'?
ERROR CCN3273 ./zlib.h:124   Missing type in declaration of gz_header.
ERROR CCN3166 ./zlib.h:126   Definition of function gz_header requires parentheses.
ERROR CCN3276 ./zlib.h:126   Syntax error: possible missing '{'?
WARNING CCN3137 ./zlib.h:1346  Declaration must declare at least one declarator, tag, or the members of an enumeration.
ERROR CCN3275 ./zlib.h:1350  Unexpected text z encountered.
ERROR CCN3282 ./zlib.h:1350  The type of the parameters must be specified in a prototype.
ERROR CCN3275 ./example.c:95    Unexpected text file encountered.
ERROR CCN3045 ./example.c:95    Undeclared identifier gzFile.
ERROR CCN3046 ./example.c:96    Syntax error.
ERROR CCN3045 ./example.c:98    Undeclared identifier file.
ERROR CCN3019 ./example.c:523   Expecting an array or a pointer to object type.
ERROR CCN3280 ./example.c:527   Function argument assignment between types "const char*" and "int" is not allowed.
CCN0793(I) Compilation failed for file ./example.c.  Object file not created.
FSUM3065 The COMPILE step ended with return code 12.
FSUM3017 Could not compile example.c. Correct the errors and try again.
gmake: *** [example.o] Error 3

当我逐渐取出FAR *(我认为这是一个远指针,但我真的没有那么肯定)错误消失。但是,因为这是一个库,林不知道其他工件将要通过去除此产生什么。

有任何人有什么想法?

任何旧主机头在那里?

有帮助吗?

解决方案

它原来存在的zlib的先前版本,关于USS,版本1.1.4或接近该编译。它的背部水平,但我相信这个工程,因为它是最新的代码far指针才执行。所以,ATM,我认为香港专业教育学院得到它的工作。

感谢你的帮助。

此致

标记。

其他提示

FAR不是C89的关键字,这是微软/ Intelism,并可能介于#define的。如果没有,你需要将它定义为虚无。

#define FAR

不过,这可能只解决的诸多问题之一。我猜想,库使用某种形式的条件编译来处理之类的东西远指针 - 你需要阅读的文档找到哪些配置是最suitabkle您的平台

我会使用XLC代替C89,因为XLC是系统默认的编译器,但你仍然可能有问题。我订阅MVS-OE的邮件列表,人们就可以有很大的帮助。关于列表信息将显示该链接现在是下来,请发送电子邮件至 LISTSERV@VM.MARIST.EDU  与消息:INFO MVS-OE

FWIW,IBM提供的zlib一个预置的版本,其包括用于压缩硬件(所谓zEDC)最近的复古大型机可用的支持。请参见的zlib的zEnterprise的数据压缩

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top