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

关于powerpc-linux-uclibc-gcc的使用

    来源: 互联网  发布时间:2016-07-09

    本文导语:  做了点东西需要使用linux下ldap库,我装的linux上已经有ldap库,在程序中#include 了。 用gcc编译时:gcc filename.c,会报找不到ldap.h文件以及ldap.h文件中相关函数的错误 但是使用gcc filename.c -lldap,就能够编译通过了。 后...

做了点东西需要使用linux下ldap库,我装的linux上已经有ldap库,在程序中#include 了。
用gcc编译时:gcc filename.c,会报找不到ldap.h文件以及ldap.h文件中相关函数的错误
但是使用gcc filename.c -lldap,就能够编译通过了。

后来要求使用powerpc-linux-uclibc-gcc来进行编译那个文件,
结果发生奇怪的事,使用powerpc-linux-uclibc-gcc filename.c -lldap编译,
竟然也找不到ldap.h文件以及ldap.h文件中相关函数的错误。

担心是powerpc-linux-uclibc-gcc不支持-l这个选项,
有随便写了一个包括pthread_create函数的程序,
用powerpc-linux-uclibc-gcc filename.c -lpthread编译竟然通过了。

为什么呢?小女子才疏学浅,希望各位高手予以指教,先谢过。

|
做了点东西需要使用linux下ldap库,我装的linux上已经有ldap库,在程序中#include 了。 
用gcc编译时:gcc filename.c,会报找不到ldap.h文件以及ldap.h文件中相关函数的错误 
但是使用gcc filename.c -lldap,就能够编译通过了

这是因为虽然你包含了头文件但是,你并没有连接库文件,所以编译的时候要-lldap



后来要求使用powerpc-linux-uclibc-gcc来进行编译那个文件, 
结果发生奇怪的事,使用powerpc-linux-uclibc-gcc filename.c -lldap编译, 
竟然也找不到ldap.h文件以及ldap.h文件中相关函数的错误。

这应该是因为,powerpc-linux-uclibc-gcc的库中不包含ldap.h以及其中定义的相关函数


至于:
用powerpc-linux-uclibc-gcc filename.c -lpthread编译竟然通过了。


这是因为,你连接了POSIX的多线程库pthread,在你的powerpc-linux-uclibc-gcc 中有包含该库。

|
哦  我知道了
我想问下  你为什么不用gnu的那套工具链
我给你看看这个东西吧  这是我的一个动态库的例子 和你的差不多 只不过是用gnu工具链生成的

libscholar_la_CPPFLAGS = $(AM_CPPFLAGS) -I../../postagger/src -I/usr/include/libxml2 -I/usr/local/include/maxent -I/usr/include(-I 就是头文件路径)

libscholar_la_LDFLAGS = $(AM_LDFLAGS) -L/usr/local/lib -L/usr/local/include(-L 动态库路径)

libscholar_la_LIBADD = -lpthread -liconv -lxml2 -lmaxent -lz -lg2c -lpostagger -limconfman  (-l 动态库名字)

这和你的手写编译命令的那种方式一样的,你可能缺了-L(动态库路径),一般来说这些路径是不用自己去找的,可以用命令(前提是有pkg-config软件) pkg-config --cflags glib-2.0(库名字) 和  pkg-config --libs glib-2.0 获得,自己找会找死人,鬼知道它装在哪

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐


  • 站内导航:


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

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

    浙ICP备11055608号-3