'undefined reference to `__ctype_tolower' 或 '__ctype_b'

转自:http://zhidao.baidu.com/question/29478934.html
'undefined reference to `__ctype_tolower' 或 '__ctype_b'
用make编译一个open client程序时(rh9+sybase12.5),出现错误:
/home/sybase/OCS-12_5/lib/libsybdb.a(dbcursut.o)(.text+0xc7): In function `db__crs_search_phrase': 
: undefined reference to `__ctype_tolower' 
/home/sybase/OCS-12_5/lib/libsybdb.a(dbcursut.o)(.text+0x133): In function `db__crs_search_phrase': 
: undefined reference to `__ctype_tolower' 
/home/sybase/OCS-12_5/lib/libsybdb.a(intslist.o)(.text+0x38a): In function `intl__strblist': 
: undefined reference to `__ctype_b'
 
在网上搜了些这方面的资料,有的说是linux系统内核和sybase版本的冲突,说是gcc2.**之前的版本可以,gcc3.**就会出现这样的错误,但查看了编译器是gcc2.96的,如何解决呢?

看到一帖:
创建linuxpatch.c源文件
#include <ctype.h>
__const unsigned short int *__ctype_b;
__const __int32_t *__ctype_tolower;
__const __int32_t *__ctype_toupper;
void ctSetup()
{
__ctype_b = *(__ctype_b_loc());
__ctype_toupper = *(__ctype_toupper_loc());
__ctype_tolower = *(__ctype_tolower_loc());
}
并在.c源程序中包含,并在main()中执行

按照这个加入了__ctype_b 部分,重新编译果然好使。


源帖出处:http://blog.chinaunix.net/u/28736/showart.php?id=240409
我出现的问题是:配置eybuild的时候。由于需要安装ARM版的eybuild。但是在我安装好了之后。编译出现了上述错误。解决方法也是用的上面的。确实不错。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值