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

make 加载动态库的问题

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

    本文导语:  我写个测试程序,要加载动态库,我的makefile文件如下,请大家看看是不是有什么问题: FILES = test.o          libavcodec_dll.so # Compiler command name #CC =/opt/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc CC = gcc # Compiler flags applied ...

我写个测试程序,要加载动态库,我的makefile文件如下,请大家看看是不是有什么问题:
FILES = test.o
         libavcodec_dll.so
# Compiler command name
#CC =/opt/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc
CC = gcc

# Compiler flags applied to all files
CFLAGS = -Os -Wall -D_DEBUG -D_VERBOSE -I./ -g
#CFLAGS = -Os -wall -D_DEBUG -D_VERBOSE -I./ -g
LIBS = -lpthread -lm  -g #-lstdc++

EXENAME = lib_test

# Builds all object files and executable
${EXENAME} : $(OFILES)
        $(CC) $(CFLAGS) -o ${EXENAME} $(OFILES) $(LIBS)

# Clean up
clean :
        rm -f $(OFILES) ${EXENAME}

其中libavcodec_dll.so在当前的目录下.
最后出现这样的错误:是我的makefile写错了吗?
[root@localhost test]# make
gcc -Os -Wall -D_DEBUG -D_VERBOSE -I./ -g -o lib_test test.o libavcodec_dll -lpthread -lm  -g
libavcodec_dll: undefined reference to `h261_demuxer'
libavcodec_dll: undefined reference to `vc1_demuxer'
libavcodec_dll: undefined reference to `m4v_demuxer'
libavcodec_dll: undefined reference to `aac_demuxer'
libavcodec_dll: undefined reference to `h263_demuxer'
libavcodec_dll: undefined reference to `rawvideo_demuxer'
libavcodec_dll: undefined reference to `mpegvideo_demuxer'
libavcodec_dll: undefined reference to `flac_demuxer'
libavcodec_dll: undefined reference to `ac3_demuxer'
libavcodec_dll: undefined reference to `h264_demuxer'
collect2: ld returned 1 exit status
make: *** [lib_test] Error 1



|
gcc   -Os   -Wall   -D_DEBUG   -D_VERBOSE   -I./   -g   -o   lib_test   test.o   -lavcodec_dll   -lpthread   -lm     -g 
然后把共享库放到系统的库目录中去。把libavcodec_dll.so放到/lib中去。

|
加载库用-L 和-l.
-L指定库的目录
-l指定库的名称

|
加 -lavformat 试试

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐
  • 问一个很低级的问题:怎样卸载用make;make install方法安装的软件?
  • configure make make install 新手问题...
  • make zImage和make modules等问题请教~
  • 50分的问题!make文件找不到? You don't seem to have 'make' or 'gmake' in your PATH
  • 还是Make的问题
  • make 出错的问题
  • make 死机问题
  • make bzImage时有好多问题提示,如何简化掉?
  • 菜鸟问题:如何Make
  • 新手关于make的问题
  • make menuconfig 配置问题,大家指教
  • solaris 7下make不能使用的问题
  • 真心求教一个make zImage 问题 急!!!
  • 问大家个弱问题:用make ,报错
  • linux 安装问题make: *** 没有指明目标并且找不到makefile。 停止
  • 升级Linux内核在终端下输入make moveold执行失败问题?
  • 问一个关于make的简单问题
  • linux基础问题,configure,make生成应用程序问题
  • 使用make xconfig问题?
  • 有关make命令的问题?100分
  • 有关make all; make clobber; make depend; make debug 的区别?
  • 我要缩减LINUX内核,make menuconfig时把一些选项去掉,再make dep没错,但再make bzImage时却会提错,但我make menuconfig时不改变任何选现(
  • 我已经用make clean编译成功了内核但是在make moduals时候处错误,然后又make menuconfig,我还需要make zImage吗?
  • make perl 模块的时候出错,make: *** No rule to make target,帮忙看看,谢谢。
  • 如何写出兼容于BSD MAKE、GNU MAKE、SOLARIS MAKE的条件编译Makefile?
  • 在solaris8.0我装了make3.81,下载了make-3.81-sol8-sparc-local.gz,为什么不能在任何目录下输入make?
  • 怎样验证自己的make是不是GNU的make?
  • cygwin make操作,出现no rule to make target all
  • 请教 make gdb-6.4 出现 make[4]: Entering directory `/tmp/gdb-6.4/gdb/doc'
  • debian下安装bind用./configure时提示安装bind时./configure提示whether make sets $(MAKE)... no
  • 第一次写make文件,报makefile:2: *** missing separator. Stop.错,make文件只有两行


  • 站内导航:


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

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

    浙ICP备11055608号-3