QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2919|回复: 4

请问如何在交叉编译工具添加新的库

[复制链接]
发表于 2006-4-20 14:42:38 | 显示全部楼层 |阅读模式
我想在交叉编译工具添加一个新的库,.so或.a库。
   我把它们放在....arm/2.95.3/arm-linux/lib下(为了安全起见我在2.95.3/lib也添加了),但当编译器调用这些库时就发生下面情况
#arm-linux-gcc -o sample sample.c -ltdsodbc
/usr/local/arm/2.95.3/arm-linux/bin/ld cannot find tdsodbc
collect2:ld returned 1 exitstatus
    我添加的库是libtdsodbc.so,这个库是提供给linux台式机编程时候调用的,我想我是不是应该把它的原代码重新用arm-linux-gcc编译一遍来构建一个新的库,这才能在交叉编译下调用它呢?
     由于对交叉编译不太熟悉,有哪位高手能指点一下吗?
发表于 2006-4-20 21:05:17 | 显示全部楼层
对,库一般都需要用交叉编译工具重新编译一下,生成静态的库
你可以上网上找一下sqlite移植的一些内容
有相关的文档
回复

使用道具 举报

 楼主| 发表于 2006-4-22 12:09:44 | 显示全部楼层
谢谢
其实是我说得不够清楚,我做的是在arm9下写一个访问mssql2000的应用程序
而不是把一个数据库移植到arm上去
所以跟sqlite移植应该没什么关系吧
我现在试图通过freetds+unixodbc或freetds+(unixodbc的一些头文件)
来实现这个功能,现在我已经用c语言编写了在pc机的linux环境下访问sql2000
的程序了,下一步是移植到arm9上面去
希望有兴趣的朋友可以来这交流一下经验
回复

使用道具 举报

发表于 2006-4-23 21:54:46 | 显示全部楼层
我们当时就是要用sqlite的库,所以我们移植的
源代码能用交叉编译工具编译过最好了,一般不同平台的可能会有问题,可能需要修改一些源代码,我觉的这就是我理解的移植。
因为使一个平台的代码运行在其它平台上的过程就叫移植。
回复

使用道具 举报

 楼主| 发表于 2006-4-24 08:38:04 | 显示全部楼层
呵呵
原来是这样,谢谢lumit-support-1的提点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-21 21:02 , Processed in 0.105710 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表