首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用z/OS USS编译/链接时定义SYSLIB

在使用z/OS USS编译/链接时定义SYSLIB
EN

Stack Overflow用户
提问于 2018-04-07 07:28:03
回答 2查看 482关注 0票数 0

我在z/OS上使用c++ (cxx)来编译和链接c程序。我从IEW (链接器)得到错误,它不能访问SYSLIB

我假设这必须是一个出口。

代码语言:javascript
复制
export _CXX_LSYSLIB="CEE.SCEELKEDX:CEE.SCEELKED:CBC.SCCNOBJ:SYS1.CSSLIB"

这是我拍摄的最好的一张照片,但在链接过程中仍然出现错误。

代码语言:javascript
复制
ABEND S013-38 OCCURRED WHILE PROCESSING PARTITIONED DATA SET DDNAME SYSLIB. 
EN

回答 2

Stack Overflow用户

发布于 2019-09-26 22:22:44

有一种简单的方法可以正确设置环境变量,以便在z/OS上的USS中正确链接应用程序。以下命令说明了这是如何工作的:

代码语言:javascript
复制
> xlC -v  a.C
FSUM0000I  Utility(xlc)                      Level(D170323.1712)
exec: export(export,XL_CONFIG=/bin/../usr/lpp/cbclib/xlc/etc/xlc.cfg:xlC,NULL)
exec: /usr/lpp/cbclib/xlc/exe/ccndrvr(/usr/lpp/cbclib/xlc/exe/ccndrvr,./,./a.C,*.C,CXX,CMDOPTS(DEFINE(errno=(*__errno())),NOTEST,-qoe,-qargparse,-qexecops,-qflag=i,-qhalt=16,-qnodebug,-qnolsearch,-qredir,-qlocale=POSIX,-qlongname,-qmaxmem=*,-qmemory,-qnestinc=255,-qnoexpmac,-qnoexportall,-qnogonumber,-qtarget=le,-qnolibansi,-qlist=/dev/fd1,-qnolist,-qnomargins,-qnooffset,-qnosequence,-qnoshowinc,-qsource=/dev/fd1,-qnosource,-qnoxref,-qterminal,-qnooptimize,-qplist=host,-qspill=128,-qstart,-qnoipa,DEFINE(_OPEN_DEFAULT=1),-qdigraph,-qinfo=lan,-qtempinc=tempinc,-qnortti,-qlanglvl=extended:nolibext:nolonglong,-qnoattr,-qinlrpt=/dev/fd1,-qnoinlrpt,-qtmplparse=no,-qansialias),object(./a.o),NOPPONLY,NULL)
exec: export(export,STEPLIB=CBC.SCCNCMP:CEE.SCEERUN2:CEE.SCEERUN,NULL)
exec: export(export,_CXX_ACCEPTABLE_RC=4,NULL)
exec: /bin/cxx(/bin/cxx,-v,a.o,NULL)
exec: export(export,_CXX_ACCEPTABLE_RC=4,NULL)
exec: export(export,_CXX_PVERSION=0x42030000,NULL)
exec: export(export,_CXX_PSYSIX=CEE.SCEELIB(C128N):CBC.SCLBSID(IOSTREAM,COMPLEX),NULL)
exec: export(export,_CXX_PSYSLIB=CEE.SCEEOBJ:CEE.SCEECPP,NULL)
exec: export(export,_CXX_LSYSLIB=CEE.SCEELKEX:CEE.SCEELKED:CBC.SCCNOBJ:SYS1.CSSLIB,NULL)
FSUM0000I  Utility(c89)                      Level(D170323.1712)
//* cxx ------------------------------------------------------------------------
//LINKEDIT  EXEC  PGM=LINKEDIT,
//  PARM='AMODE=31,RMODE=ANY,TERM=YES,
//  DYNAM=DLL,ALIASES=NO,UPCASE=NO,
//  LIST=OFF,MAP=NO,XREF=NO,INFO=NO,MSGLEVEL=4,
//  REUS=RENT,EDIT=YES,AC=0,CALL=YES,CASE=MIXED'
//SYSLIB   DD  DSN='CEE.SCEELKEX',DISP=SHR,DCB=DSORG=DIR
//         DD  DSN='CEE.SCEELKED',DISP=SHR,DCB=DSORG=DIR
//         DD  DSN='CBC.SCCNOBJ',DISP=SHR,DCB=DSORG=DIR
//         DD  DSN='SYS1.CSSLIB',DISP=SHR,DCB=DSORG=DIR
//C8920    DD  UNIT=SYSALLDA,SPACE=(32000,(100,100)),
//             STORCLAS=,MGMTCLAS=,DATACLAS=,DSNTYPE=,
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//C8961    DD  DSN='CEE.SCEEOBJ',DISP=SHR,DCB=DSORG=DIR
//C8962    DD  DSN='CEE.SCEECPP',DISP=SHR,DCB=DSORG=DIR
//C8921    DD  DSN='CEE.SCEELIB(C128N)',DISP=SHR,DCB=DSORG=NOTDIR
//C8922    DD  DSN='CBC.SCLBSID',DISP=SHR,DCB=DSORG=DIR
//SYSPRINT DD  PATH='/dev/fd1',
//             PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,
//             PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)
//SYSTERM  DD  PATH='/dev/fd2',
//             PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,
//             PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)
//SYSLMOD  DD  PATH='a.out',
//             PATHOPTS=(OWRONLY,OCREAT),
//             PATHMODE=(SIRWXO,SIRWXG,SIRWXU)
//SYSDEFSD DD  DUMMY,
//             DCB=(RECFM=F,LRECL=80,BLKSIZE=80)
//SYSLIN   DD  *
  INCLUDE C8920
  INCLUDE './a.o'
  AUTOCALL C8961
  AUTOCALL C8962
  INCLUDE C8921
  INCLUDE C8922(IOSTREAM)
  INCLUDE C8922(COMPLEX)
/*

此命令的输出显示了需要导出的环境变量以及为每个变量定义的数据集。当然,不需要直接使用c89实用程序,同样可以通过使用xlc实用程序来完成。

在本例中,cxx命令可以替换为xlC、-F:cxx或简单的xlC,因为xlC命令等同于调用c89实用程序的cxx命令。使用xlc而不是c89实用程序的好处是,您可以使用外壳友好的选项,这些选项是使用-q语法而不是-Wc指定的,"...“语法。

票数 2
EN

Stack Overflow用户

发布于 2018-06-06 08:48:09

我想你打错了。而不是:

代码语言:javascript
复制
_CXX_LSYSLIB="CEE.SCEELKEDX:CEE.SCEELKED:CBC.SCCNOBJ:SYS1.CSSLIB"

我认为你想要:

代码语言:javascript
复制
_CXX_LSYSLIB="CEE.SCEELKEX:CEE.SCEELKED:CBC.SCCNOBJ:SYS1.CSSLIB"

是额外的“D”害死你了。糟糕的错误消息我同意。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49702247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档