当前位置: 技术问答>linux和unix
如何将第三方静态库加入Makefile.am中??
来源: 互联网 发布时间:2016-11-28
本文导语: 在利用autoconf/libtool生成Makefile过程中,需要调用第三方的一个静态库,比如xxxxx.a. 那么应该把这个静态库写在Makefile.am的什么地方,怎么写?谢谢!!! 比如,原来Makefile.am如下: AUTOMAKE_OPTIONS = foreign AM_CFLAGS = -DW...
在利用autoconf/libtool生成Makefile过程中,需要调用第三方的一个静态库,比如xxxxx.a.
那么应该把这个静态库写在Makefile.am的什么地方,怎么写?谢谢!!!
比如,原来Makefile.am如下:
其中,xxxxx.a被libgsmgw_smsout.la调用。
我的疑问是如何将xxxxx.a加入到其中,其中有#注释的两行是我试过的,都不行,
请高手指点,谢谢。
那么应该把这个静态库写在Makefile.am的什么地方,怎么写?谢谢!!!
比如,原来Makefile.am如下:
AUTOMAKE_OPTIONS = foreign
AM_CFLAGS = -DWLOG_ -DDEBUG_
gsmdrv_sources= gsm/gsm_device.c gsm/gsmdev_event.c gsm/pin.c gsm/gsmdev_message.c
gsm/gsm_dispatch.c gsm/gsm_thread.c gsm/gsm_server.c gsm/gsm_driver.c gsm/knowla.c gsm/emay.c
lib_LTLIBRARIES = libgsmgw_common.la libgsmgw_wakeup.la libgsmgw_smsout.la libgsmgw_smsin.la libgsmgw_pb.la
libgsmgw_common_la_SOURCES= gsmgw_report.c gsmgw_mod.c $(gsmdrv_sources)
libgsmgw_common_la_LIBADD = $(top_srcdir)/lib/util/src/libutil.la $(top_srcdir)/lib/confparser/libconfparser.la
$(top_srcdir)/src/gsm/src/libgsmd/libgsmd.la $(top_srcdir)/lib/subs/libsubs.la
libgsmgw_wakeup_la_SOURCES= gsmgw_wakeup.c $(top_srcdir)/src/gw/csf/libmod.c
libgsmgw_wakeup_la_LIBADD = ./libgsmgw_common.la
libgsmgw_smsin_la_SOURCES= gsmgw_smsin.c $(top_srcdir)/src/gw/csf/libmod.c
libgsmgw_smsin_la_LIBADD = ./libgsmgw_common.la
libgsmgw_pb_la_SOURCES= gsmgw_pb.c $(top_srcdir)/src/gw/csf/libmod.c
libgsmgw_pb_la_LIBADD = ./libgsmgw_common.la
#libgsmgw_smsout_la_LIBADD = ./gsm/xxxxx.a
libgsmgw_smsout_la_SOURCES= gsmgw_smsout.c gsmgw_mod_smsout.c $(top_srcdir)/src/gw/csf/libmod.c
libgsmgw_smsout_la_LIBADD = ./libgsmgw_common.la
#libgsmgw_smsout_la_LIBADD = ./gsm/xxxxx.a
INCLUDES = $(all_includes) -I$(top_srcdir)/lib/util/include -I$(top_srcdir)/lib/confparser
-I$(top_srcdir)/lib/subs -I../include -I$(top_srcdir)/src/gw/csf/include
-I$(top_srcdir)/src/gsm/include -I$(top_srcdir)/src/gw/component/gsmgw/stage/gsm
noinst_HEADERS=gsm/gsm_device.h gsm/gsmdev_event.h gsm/gsmdev_message.h gsm/gsm_dispatch.h
gsm/gsm_driver.h gsm/gsm_server.h gsm/gsm_thread.h gsm/pin.h
gsm/gsm.h gsm/atcmd.h gsm/knowla.h gsm/emay.h gsm/EUCPCInterface.h
其中,xxxxx.a被libgsmgw_smsout.la调用。
我的疑问是如何将xxxxx.a加入到其中,其中有#注释的两行是我试过的,都不行,
请高手指点,谢谢。
|
貌似没有执行文件?如果有的话
bin_PROGRAMS = gsmdrv
gsmdrv_LDADD = libxxxx.a
bin_PROGRAMS = gsmdrv
gsmdrv_LDADD = libxxxx.a
|
把这个
libgsmgw_smsout_la_LIBADD = ./libgsmgw_common.la
改为
libgsmgw_smsout_la_LIBADD = ./libgsmgw_common.la
xxxxx.a
libgsmgw_smsout_la_LIBADD = ./libgsmgw_common.la
改为
libgsmgw_smsout_la_LIBADD = ./libgsmgw_common.la
xxxxx.a
|
需要使用.la文件
修改了.am后需要重新configure
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。