[开发环境]
操作系统AIX4.3.3、中间件TUXEDO6.5、数据库INformIX ESQL 7.24.UC8、开发语言ESQL/C
[环境变量]
#INformIX
export INformIXDIR=/usr/users/informix
export INformIXSERVER=online100
export ONCONFIG=onconfig.100
export TERM=vt100
export TERMCAP=$INformIXDIR/etc/termcap
export DB_LOCALE=en_US.8859-1@qmlu
export CLIENT_LOCALE=en_US.8859-1@qmlu
export PATH=$PATH:$INformIXDIR/bin:$INformIXDIR/lib:$INformIXDIR/lib/esql:$HOME/tools/bin:.
#TUXEDO
export TUXDIR=/usr/users/tuxedo
export PATH=$PATH:$TUXDIR/bin:$PATH
COBCPY=:$TUXDIR/cobinclude; export COBCPY
BOPT=
"-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl
"; export COBOPT
PATH=$PATH:$INformIXDIR/bin:/usr/ibmcxx/bin
export PATH
export LIBPATH=$TUXDIR/lib:$INformIXDIR/lib:$INformIXDIR/lib/esql:/lib:/usr/lib:
$INformIXDIR/incl/esql:$LIBPATH
OSTYPE=AIX;export OSTYPE
[编译文件]
#城综网与业务系统接口的makefile文件
LIBDEP = $(HOME)/lib/SubTrx.a $(HOME)/lib/libmiddleware.a $(HOME)/lib/libsbsapi.a
LINKLIB =-L/usr/users/informix/lib/esql -L/usr/users/informix/lib -lc -lm -ll
OBJ = cs_trans.o pub.o
BINPATH=$(HOME)/bin
CFLAGS= -EDmCltSys -c
CCOPT= -qchars=signed -qcpluscmt -DHIGHFIRST -bstatic
all: $(BINPATH)/cs_trans
$(BINPATH)/cs_trans: $(OBJ)
buildclient -w -o $(HOME)/bin/cs_trans -f
"$(OBJ) $(LIBDEP) $(LINKLIB)
"
rm -f cs_trans.o
rm -f pub.o
cs_trans.o: cs_trans.ec
esql -I$(HOME)/inc -I$(TUXDIR)/include $(CFLAGS) $(CCOPT) cs_trans.ec
rm -f cs_trans.c
pub.o: pub.ec
[标准输出]
esql -I/usr/DATAS/zqywsrc/inc -I/usr/users/tuxedo/include -EDmCltSys -c -qchars=signed -qcpluscmt -DHIGHFIRST -bstatic cs_trans.ec
rm -f cs_trans.c
esql -I/usr/DATAS/zqywsrc/inc/ -EDmCltSys -c -qchars=signed –qcpluscmt -DHIGHFIRST -bstatic pub.ec
rm -f pub.c
buildclient -w -o /usr/DATAS/zqywsrc/bin/cs_trans -f
"cs_trans.o pub.o
/usr/DATAS/zqywsrc/lib/SubTrx.a /usr/DATAS/zqywsrc/lib/libmiddleware.a /usr/DATAS/zqywsrc/lib/libsbsapi.a -L/usr/users/informix/lib/esql -L/usr/users/informix/lib -lc -lm -ll
"
[错误输出]
"cs_trans.ec
", line 315.69: 1506-280 (W) Function argument assignment between types
"unsigned long*
" and
"int*
" is not allowed.
"pub.ec
", line 386.13: 1506-068 (W) Operation between types
"signed char*
" and
"int
" is not allowed.
ld: 0711-317 ERROR: Undefined symbol: ._iqdbase
ld: 0711-317 ERROR: Undefined symbol: SQLCODE
ld: 0711-317 ERROR: Undefined symbol: ._iqstmnt
ld: 0711-317 ERROR: Undefined symbol: ._iqdbclose
ld: 0711-317 ERROR: Undefined symbol: ._iqslct
ld: 0711-317 ERROR: Undefined symbol: .sqldetach
ld: 0711-317 ERROR: Undefined symbol: ._iqnprep
ld: 0711-317 ERROR: Undefined symbol: sqlca
ld: 0711-317 ERROR: Undefined symbol: ._iqlocate_cursor
ld: 0711-317 ERROR: Undefined symbol: ._iqdescribe
ld: 0711-317 ERROR: Undefined symbol: .rtypmsize
ld: 0711-317 ERROR: Undefined symbol: .rtypalign
ld: 0711-317 ERROR: Undefined symbol: ._iqcddcl
ld: 0711-317 ERROR: Undefined symbol: ._iqdcopen
ld: 0711-317 ERROR: Undefined symbol: ._iqcftch
ld: 0711-317 ERROR: Undefined symbol: .dectoasc
ld: 0711-317 ERROR: Undefined symbol: .rdatestr
ld: 0711-317 ERROR: Undefined symbol: .stleng
ld: 0711-317 ERROR: Undefined symbol: ._iqclose
ld: 0711-317 ERROR: Undefined symbol: ._iqfree
ld: 0711-317 ERROR: Undefined symbol: ._iqexecute
ld: 0711-317 ERROR: Undefined symbol: .rdefmtdate
ld: 0711-317 ERROR: Undefined symbol: ._iqbeginwork
ld: 0711-317 ERROR: Undefined symbol: ._iqcdcl
ld: 0711-317 ERROR: Undefined symbol: ._iqcommit
ld: 0711-317 ERROR: Undefined symbol: .rfmtdate
ld: 0711-317 ERROR: Undefined symbol: ._iqrollback
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
CMDTUX_CAT:512: ERROR: Cannot execute C compiler cc -I$TUXDIR/include -o /usr/DATAS/zqywsrc/bin/cs_trans -L${TUXDIR}/lib cs_trans.o pub.o /usr/DATAS/zqywsrc/lib/SubTrx.a /usr/DATAS/zqywsrc/lib/libmiddleware.a /usr/DATAS/zqywsrc/lib/libsbsapi.a -L/usr/users/informix/lib/esql -L/usr/users/informix/lib -lc -lm -ll -lwsc -lbuft -lwsc -lnws -lnwi -lnws -lfml -lfml32 -lgp
make: 1254-004 The error code from the last command is 8.
Stop.
--转自