当前位置: 技术问答>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编译竟然通过了。
为什么呢?小女子才疏学浅,希望各位高手予以指教,先谢过。
用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 中有包含该库。
用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 获得,自己找会找死人,鬼知道它装在哪
我想问下 你为什么不用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.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。