Chinaunix

标题: 请教informix5.0下编译tuxedo的client端程序的方法 [打印本页]

作者: forest077    时间: 2003-04-15 14:28
标题: 请教informix5.0下编译tuxedo的client端程序的方法
informix 5.0环境下的esql/c程序要编译成tuxedo的client端程序,请问makefile怎么写?或者说链接时buildclient要怎么写,怎样把informix5.0的库链接进程序?
作者: 大梦    时间: 2003-04-15 16:03
标题: 请教informix5.0下编译tuxedo的client端程序的方法
不明白!
没看懂!
作者: forest077    时间: 2003-04-15 17:30
标题: 请教informix5.0下编译tuxedo的client端程序的方法
???没看懂?怎么说呢
首先,我有一套esql/c的程序,要编译成Tuxedo的client端程序。
现在,我使用buildclient -w -o xxx $(XXXOBJ) 链接,报错信息提示一些symbol没定义,看了一下都是informix的一些东西,也就是说informix5.0的库没被链进去。
如果用esql -o xxx $(XXXOBJ)链接,则informix5.0的库是有了,但是报告tuxedo的一些东西没定义。
要编译链接成Tuxedo的client端肯定得用第一种方式,但怎么把informix5.0的库给链进去呢?
作者: diablocom    时间: 2003-04-15 18:09
标题: 请教informix5.0下编译tuxedo的client端程序的方法
楼主是不是在sco上用ec+tuxedo开发啊?

如果是这样的话,我告诉你,tuxedo的client不用buildclient去做,

只要将一些库函数链到你的可执行程序中就OK了。

你的tuxedo是不是6.5的,把你的环境说出来,我给你写个makefile.
作者: forest077    时间: 2003-04-16 10:11
标题: 请教informix5.0下编译tuxedo的client端程序的方法
不错,tuxedo是6.5的。不用buildclient可以编译成功吗?我担心到时候用不起来,因为我这里没有Server端,没法调试,只能把运行程序发给客户直接使用,太危险,所以我想用buildclient链接,而把informix5.0的库链进来,但不知为什么,我把informix/lib/esql/lib*.a和informix/lib/tools/lib*.a的库都加进来页链接不过去。
再请大虾指点
作者: yxfsoft    时间: 2003-04-16 11:08
标题: 请教informix5.0下编译tuxedo的client端程序的方法
可以直接编译,不用buildclient。加-I/usr/tuxedo/include -L/usr/tuxedo/lib 即可
作者: forest077    时间: 2003-04-16 14:16
标题: 请教informix5.0下编译tuxedo的client端程序的方法
[quote]原帖由 "yxfsoft"]可以直接编译,不用buildclient。加-I/usr/tuxedo/include -L/usr/tuxedo/lib 即可[/quote 发表:

我看原来的编译选项里面有buildclient有-w的参数,好像没有这个参数编译出来的程序没法正确运行。不用buildclient的话怎么做呢?在-L参数后应该还要加上-lxxx等一堆东西吧。
作者: 蓝色键盘    时间: 2003-04-16 15:21
标题: 请教informix5.0下编译tuxedo的client端程序的方法
请参看如下编译命令:

buildtms [-v] -o name -r rmname
buildclient [-v][{-r rmname|-w}][-f firstfiles][-l lastfiles][-o name]
buildserver [-v][-r rmname][-f firstfiles][-l lastfiles][-o name][-s service]
        -v: 显示编译过程
        -r: 所需连接的资源管理器
        -w: 生成WS程序
        -f: 在连接TUXEDO内部库之前所需连接的文件
        -l: 在连接TUXEDO内部库之后所需连接的文件
        -o: 生成可执行程序
        -s: 服务名与函数名映射
作者: diablocom    时间: 2003-04-16 17:24
标题: 请教informix5.0下编译tuxedo的client端程序的方法
我的makefile

.SUFFIXES:      .c .o .ec .o

INCL=-I${HOME}/incl -I${INFORMIXDIR}/incl
TUXINCL = -I${TUXDIR}/include -I${HOME}/include
LIBPATH=${HOME}/lib

.ec.o:
        esql -O   -c  $(INCL) $*.ec
        -rm $*.c
.c.o:
        cc  -O   -c $(TUXINCL) $*.c

OBJ=   xxx.o

all:    xxx
xxx:   $(OBJ)
        esql  -O -o xxx -L${TUXDIR}/lib -L$(LIBPATH) $(OBJ) -lhfx -lobj -lbcf -
lm -lwsc -lbuft -lwsc  -lnws -lnwi -lnws  -lfml -lfml32 -lgp  /usr/lib/libcrypt.
a  -belf -lnsl -ldzlh -lsocket
        strip $@
        mv -f $@ ${HOME}/bin
作者: tyffly    时间: 2003-04-16 22:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: yxfsoft    时间: 2003-04-17 09:20
标题: 请教informix5.0下编译tuxedo的client端程序的方法
-w 这个参数是指本机程序tpcall的服务是网络上其他机器上的tuxedo服务。客户端的编译不是一定需要buildclient命令来编译。同一般程序编译,只要将include和lib目录链进去编译即可。
作者: forest077    时间: 2003-04-17 09:29
标题: 请教informix5.0下编译tuxedo的client端程序的方法
原帖由 "diablocom" 发表:
我的makefile

.SUFFIXES:      .c .o .ec .o

INCL=-I${HOME}/incl -I${INFORMIXDIR}/incl
TUXINCL = -I${TUXDIR}/include -I${HOME}/include
LIBPATH=${HOME}/lib

.ec.o:
        esql -O   -c  $(INCL)..........

请问哪些选项是必须的,哪些是多余的?-lnws和-lwsc都写了两遍,是笔误吗?不会是必须写两遍吧?再请问buildclient -w中的-w 选项是通过哪一个库链进来实现的,是-lwsc吗?再请指教,谢谢。
作者: forest077    时间: 2003-04-17 09:30
标题: 请教informix5.0下编译tuxedo的client端程序的方法
原帖由 "tyffly" 发表:
先用esql编译成.o文件,buildclient 后面加 -l 库文件全名
就可以的,我做过这种程序(informix 7.0.3 +tuxedo 5.5)

我试过,把informix7.0的库全链进来是可以的,但是informix5.0就不行。
作者: diablocom    时间: 2003-04-17 12:36
标题: 请教informix5.0下编译tuxedo的client端程序的方法
原帖由 "forest077" 发表:

请问哪些选项是必须的,哪些是多余的?-lnws和-lwsc都写了两遍,是笔误吗?不会是必须写两遍吧?再请问buildclient -w中的-w 选项是通过哪一个库链进来实现的,是-lwsc吗?再请指教,谢谢。


dynamic linker: xxx: file loaded: /usr/tuxedo/lib/libwsc.so.60
dynamic linker: xxx: file loaded: /usr/tuxedo/lib/libbuft.so.60
dynamic linker: xxx: file loaded: /usr/tuxedo/lib/libnws.so.60
dynamic linker: xxx: file loaded: /usr/tuxedo/lib/libnwi.so.60
dynamic linker: xxx: file loaded: /usr/tuxedo/lib/libfml.so.60
dynamic linker: xxx: file loaded: /usr/tuxedo/lib/libfml32.so.60
dynamic linker: xxx: file loaded: /usr/tuxedo/lib/libgp.so.60


这些是在我的环境下需要链进去的~~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2