一个错误,不知道如何解决
练习个
tuxedo和数据库连接的例子,不是xa的方式,就是在tpsvrinit 连接数据库, 如果是短链接的就在tpreturn()前释放连接的.遇到一个不是问题的问题,应该是个人c的能力不够,没搞定,看那个大侠帮帮忙看怎么解决:
先有个db.cp 封装了数据库相关的操作,编译成.a了 在tuxedo服务编译的时候加入db.a,供后续数据库操作 但编译的时候 报错了,如下: /bea/tuxedo8.1/bin/build server -v -l "-L/oracle/instant client_11_2/ -L/bea/tuxedo8.1/lib -L/mgcrm/run/public/lib -lclntsh -ldl -lm -lpthread -lTools -lTuxedo81 -lDb" -s TOUPPER -s stest -o/mgcrm/bankapp/bin/simpserv -f "simpserv.o" cc -I$TUXDIR/include -o /mgcrm/bankapp/bin/simpserv BS-3cfa.c -L${TUXDIR}/lib simpserv.o -ltux -lbuft -lfml -lfml32 -lengine -ldl -lpthread /usr/lib/libcrypt.a -L/oracle/instantclient_11_2/ -L/bea/tuxedo8.1/lib -L/mgcrm/run/public/lib -lclntsh -ldl -lm -lpthread -lTools -lTuxedo81 -lDb /mgcrm/run/public/lib/libDb.a(db.o): In function `getConnetion': /mgcrm/resources/db/db.cp:50: undefined reference to `SQLCA' collect2: ld 返回 1 CMDTUX_CAT:1832: ERROR: can't execute cc -I$TUXDIR/include -o /mgcrm/bankapp/bin/simpserv BS-3cfa.c -L${TUXDIR}/lib simpserv.o -ltux -lbuft -lfml -lfml32 -lengine -ldl -lpthread /usr/lib/libcrypt.a -L/oracle/instantclient_11_2/ -L/bea/tuxedo8.1/lib -L/mgcrm/run/public/lib -lclntsh -ldl -lm -lpthread -lTools -lTuxedo81 -lDb 这个老是说libDb.a里面 undefined reference to `SQLCA',, 折腾了好一会,没搞定, 谁给看看,非常感谢啦. |
把数据库的lib也加进来试试。就是定义RM的那个。
今天在编译的时候用了-MM参数看引用的头文件,才发现sqlca.h和sqlda.h引用的是/bea/tuxedo8.1/include下的,应该是引用oracle才对,改了下就好了,
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。