免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2008 | 回复: 7
打印 上一主题 下一主题

关于SYBASE openclient 11.1.3 for linux编程的问题!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-20 16:07 |只看该作者 |倒序浏览
我做了一个openclient的程序,内容如下:

#include <stdio.h>;
#include <ctpublic.h>;
       
main() {
        CS_CONTEXT *cntx_ptr;
        CS_CONNECTION *conn_ptr;
        CS_RETCODE ret;
       
        ret=cs_ctx_alloc(CS_VERSION_100,&cntx_ptr);
       
        ret=ct_init(cntx_ptr,CS_VERSION_100);
       
        ret=ct_con_alloc(cntx_ptr,&conn_ptr);

        ret=ct_con_props(conn_ptr,CS_SET,CS_USERNAME,"sa",CS_NULLTERM,NULL);

        ret=ct_con_props(conn_ptr,CS_SET,CS_PASSWORD,"test",CS_NULLTERM,NULL);

        ret=ct_connect(conn_ptr,NULL,0);
       
        sleep(30);
       
        ret=ct_exit(cntx_ptr,CS_FORCE_EXIT);
       
        ret=cs_ctx_drop(cntx_ptr);
       
        exit(CS_SUCCEED);
}

但是编译时总时出错!!(我安装了openclient for linux)

-bash-2.05b$ gcc -g  cts.c -I$SYBASE/include -L$SYBASE/lib >; a.txt
cts.c:28:2: warning: no newline at end of file
/tmp/ccS6RzKF.o(.text+0x1a): In function `main':
/opt/sybase-11.9.2/sample/cts.c:9: undefined reference to `cs_ctx_alloc'
/tmp/ccS6RzKF.o(.text+0x2d):/opt/sybase-11.9.2/sample/cts.c:11: undefined reference to `ct_init'
/tmp/ccS6RzKF.o(.text+0x42):/opt/sybase-11.9.2/sample/cts.c:13: undefined reference to `ct_con_alloc'
/tmp/ccS6RzKF.o(.text+0x63):/opt/sybase-11.9.2/sample/cts.c:15: undefined reference to `ct_con_props'
/tmp/ccS6RzKF.o(.text+0x84):/opt/sybase-11.9.2/sample/cts.c:17: undefined reference to `ct_con_props'
/tmp/ccS6RzKF.o(.text+0x99):/opt/sybase-11.9.2/sample/cts.c:19: undefined reference to `ct_connect'
/tmp/ccS6RzKF.o(.text+0xbc):/opt/sybase-11.9.2/sample/cts.c:23: undefined reference to `ct_exit'
/tmp/ccS6RzKF.o(.text+0xcd):/opt/sybase-11.9.2/sample/cts.c:25: undefined reference to `cs_ctx_drop'
collect2: ld returned 1 exit status

论坛徽章:
0
2 [报告]
发表于 2003-06-20 18:15 |只看该作者

关于SYBASE openclient 11.1.3 for linux编程的问题!!!

我没有连OPENCLIENT库,于是我修改了编译器

gcc cts.cpp -I$SYBASE/include -L$SYBASE/lib -lct -lcs -lsybtcl -lcomn -lintl -linsck  -ldl -lm  -o cts

结果又出现在以下错误!!

cts.cpp:48:2: warning: no newline at end of file
/tmp/cca6ZDaT.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
/opt/sybase-11.9.2/lib/libintl.so: undefined reference to `__ctype_b'
collect2: ld returned 1 exit status

论坛徽章:
0
3 [报告]
发表于 2003-06-20 18:57 |只看该作者

关于SYBASE openclient 11.1.3 for linux编程的问题!!!

帮帮忙吧,各位老大!!!

系统平台:

RedHat Linux 9+Sybase 11.9.2+Openclient 11.1.2

论坛徽章:
0
4 [报告]
发表于 2003-06-20 19:14 |只看该作者

关于SYBASE openclient 11.1.3 for linux编程的问题!!!

是不是环境变量的问题?
这个我不懂

论坛徽章:
0
5 [报告]
发表于 2003-06-20 19:31 |只看该作者

关于SYBASE openclient 11.1.3 for linux编程的问题!!!

应该是没有连nsl库的问题吧,你加上-lnsl试试。我是在solaris下做ct_library的,对于LINUX不太清楚。
另,在你的源文件的最后一行加一个回车,可以去掉那个warning,有时候,这个warning会引发error的~

论坛徽章:
0
6 [报告]
发表于 2003-06-21 19:52 |只看该作者

关于SYBASE openclient 11.1.3 for linux编程的问题!!!

原帖由 "snowolf_538" 发表:
应该是没有连nsl库的问题吧,你加上-lnsl试试。我是在solaris下做ct_library的,对于LINUX不太清楚。
另,在你的源文件的最后一行加一个回车,可以去掉那个warning,有时候,这个warning会引发error的~
   

加了一行,warning没有了,多谢,不过,加上了-lnsl ,但错误还在!,真是搞不明白

论坛徽章:
0
7 [报告]
发表于 2003-06-23 10:15 |只看该作者

关于SYBASE openclient 11.1.3 for linux编程的问题!!!

经过两天多的证实,发现

sybase 11.9.2的openclient库是用gcc 2.xx编的,而RH9带的是gcc 3.xx版本,所以会出现版本兼容性的问题,于是我去掉了RH9,而装了低版本的linux,gcc也换成了2.96版本,问题就顺利解决了!!


解决了!!

论坛徽章:
0
8 [报告]
发表于 2004-05-10 17:40 |只看该作者

关于SYBASE openclient 11.1.3 for linux编程的问题!!!

去年的帖子使我现在受益非浅,谢了!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP