当前位置:  技术问答>linux和unix

【求助】怎么把GCC库转化为arm-linux-gcc的库啊

    来源: 互联网  发布时间:2016-05-19

    本文导语:    我要交叉编译点东西,发觉少了个libpq.so的库,但gcc下面的库又有,如果直接把GCC的库拷过来会出现skipping compatible的情况,但我在网上找了好几种编译工具链都没有libpq.so这个库,我想能不能直接把GCC下面的库转...

  我要交叉编译点东西,发觉少了个libpq.so的库,但gcc下面的库又有,如果直接把GCC的库拷过来会出现skipping compatible的情况,但我在网上找了好几种编译工具链都没有libpq.so这个库,我想能不能直接把GCC下面的库转换成arm-linux-gcc的库呢?知道的大大帮帮我好吗,或者提供下arm-linux-gcc的libpq.so库也可以,感激不尽!

|
简单方法():
Step1: 下载postgresql-8.3.6.tgz源代码(或者其它版本)
       download url: http://www.postgresql.org/ftp/source/
       并解压到某个目录下,假设目录为: ~/postgresql-8.3.6

Step2: 在~/postgresql-8.3.6目录下执行./configure 脚本生成Makefile
       # ./configure
       如果脚本支持你的ARM build/host,那么可以用./configure --host=arm*,将*修改为你具体的环境;
       如果不支持,那么就先生成为PC(X86)上的编译环境,然后自己修改生成的Makefile;
       
       NOTES: 正规的交叉编译方法应该是修改相关配置脚本,支持你的编译环境,然后用./configure --host=xxx之类来完成;但是
       有时候,如果配置里面不支持相关平台,那么修改起来也不是很容易. 这时候,比较另类的方法就是先生成PC平台的Makefile,
       然后直接修改Makefile(不推荐,但多数时候可用).

Step3: 如果你已经通过./configure --host=arm*产生了适合你平台的Makefile,那么进入到~/postgresql-8.3.6/interfaces/libpq/目录直接编译
       即可生成你要库文件libpq.so.*;

Step4: 如果你是直接./configure生成的PC机器的Makefile,那么需要修改~/postgresql-8.3.6/Makefile.global,将里面gcc还有其它编译工具
       程序修改为你对应的ARM版本; 然后在进入~/postgresql-8.3.6/interfaces/libpq/目录编译即可得到你要的库文件;

比较的罗嗦了,主要是看你这个问题(相关)已经纠缠了不少时候,希望对你有所帮助!

GOOD LUCK!





|
帮顶吧,你目标板什么平台来的?

|
http://www.postgresql.org/
 这个sql好像是开源的吧,你可以把代码用arm编译一下试试看。

|
将LDFLAGS里面的-all-static去掉试过没有?

|
兄弟你的arm-linux-gcc是哪个版本的?我刚刚在网上搜了一下,貌似别人也有你这个问题,但都没看到solution,

估计是工具链本身的问题,要是版本太旧,可以试试下个最新版本的看看

|

建议用这个方法,开源的东西,自己找到源代码,交叉编译下就好了! 找现成的反而不太放心!

GOOD LUCK!

|
没法转化,一般都得重新编译吧

|
没见过可以直接转目标文件的,重新编译用起来比较安全。
但没有源代码也是没办法的事

|
声明 -Ldirectory  libpq 所处的目录了没?

|
出现这个问题,肯定是库路径问题,最好在Makefile中指定libpq.so库所在路径(用 -L/LIBPQ_PATH)!
我看了下,在postgresql-8.3.6版本中的libpq是包含这些函数的,你可以简单的用这个命令# nm libpq.so | grep PQstatus 确认下
libpq.so里面是否有这些函数,如果有,那么多半是库路径的问题!

GOOD LUCK!

|
建议:
1. 用file看下 /work/tools/gcc-3.4.5-glibc-2.3.6/lib/目录下libpq.so等文件类型,然后贴出结果
   # file //work/tools/gcc-3.4.5-glibc-2.3.6/lib/libpq.*

2. 如果、/work/tools/gcc-3.4.5-glibc-2.3.6/lib/下面有libpq.a也有libpq.so,那么暂时将libpq.a移走;

3. 编译的命令修改为下面的试试:
   make LDFLAGS="-all-static -L/work/tools/gcc-3.4.5-glibc-2.3.6/lib/ -lpq" 

4. 都不行,将Makefile拿出来看看


GOOD LUCK!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • gcc编译时出错,gcc: installation problem, cannot exec `as': 没有那个文件或目录!!!求助呀呀!!!!!
  • 求助:当用 gcc 编译时没,加上优化选项 -02 ,可是提示是 gcc: unrecognized option `-02'
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • gcc问题,求助
  • ****求助,关于REDHAT LINUX 9下的GCC编译器问题.............
  • 求助!~~~哪里有gcc下载???最好是rpm的
  • 求助 bash:gcc:command not found
  • 【求助】请问如何替换LINUX中默认的GCC编译器?谢谢!
  • 求助关于GCC的几个参数~~~~
  • gcc编绎问题,求助!
  • 求助:关于gcc的预编译头
  • 求助关于cygwin和gcc使用问题
  • 求助gcc编译头文件出错的问题,急!!!!!!
  • 紧急简单求助: linux下 gcc编译 c程序的命令和步骤! 谢谢!
  • [求助]gcc时,误将-o 参数后面加了 .c ,结果源文件被覆盖了
  • ../gcc命令求助
  • 求助:程序能编译但不能链接,重新安装了GCC也是那样的问题
  • gcc运行程序出现错误,求助。。。
  • [求助]如何在一个Linux机器上安装一个gcc编译器?
  • 求助啊!ubuntu 交叉编译器 arm-none-linux-gnueabi-gcc
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3