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

gcc 静态链接的问题

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

    本文导语:  很诡异,谁解释下? 下面的写法可以通过编译:(使用动态库) 1) arm_XXXX_linux_gcc -I $install_root_dir/include -I $install_root_dir/include/SDL/ -L $install_root_dir/lib -lSDL -o testwin testwin.c   但是下面的写法无法通过编译: 2) arm_...

很诡异,谁解释下?

下面的写法可以通过编译:(使用动态库)

1) 
arm_XXXX_linux_gcc -I $install_root_dir/include -I
$install_root_dir/include/SDL/ -L $install_root_dir/lib -lSDL -o testwin
testwin.c 
 

但是下面的写法无法通过编译:

2) 
arm_XXXX_linux_gcc -I $install_root_dir/include -I
$install_root_dir/include/SDL/ -L $install_root_dir/lib -lSDL -static -o
testwin testwin.c


而下面的写法可以通过编译:

3) 
arm_XXXX_linux_gcc -I $install_root_dir/include -I
$install_root_dir/include/SDL/ -o testwin testwin.c
$install_root_dir/lib/libSDL.a


也就是说, -Lsome -static (第2中写法) 和 把 libsome.a 作为 gcc 的输入源
文件(第3中写法) 有什么不同?为什么前者无法通过编译而后者可以呢?

|
貌似 gcc 要求 -l 指定的库要作为命令行的最后参数;
否则将根据系统缺省配置,找动态库;
很明显,你指明了 -static,是不会找动态库的,那么
链接时就会报告函数解析错误


|
# arm_XXXX_linux_gcc -I $install_root_dir/include -I 
     $install_root_dir/include/SDL/ -L $install_root_dir/lib -static -o 
     testwin testwin.c -lSDL


行不

|

三楼的意思是把-lSDL放在最后试试。

|
赞同8楼。
代码实现有问题。

    
 
 

您可能感兴趣的文章:

  • gcc的静态库.lib怎末在编译的时候连接。对了静态库是自己的???
  • Linux下gcc编译时,如何以静态链接的形式编译?
  • 请教一个gcc静态编译的问题。
  • 如何在gcc中调用静态库(.a)中的函数?谢谢!
  • gcc如何静态地调用 lstdc++库?
  • 在linux下用gcc编译时能不能实现“选择”的静态连接呢?
  • gcc 做一个动态库 要包含一个静态库
  • 如何解析gcc ar命令产生的静态库?
  • gcc 非静态链接产生段错误
  • gcc静态链接的疑问
  • GCC中VMA和LMA在静态编译情况下是否相等?
  • GCC中静态连接和动态连接的区别(LINUX下)
  • 200分求解:程序中同时用到共享库(.so)、静态库(.a),编译时gcc的参数该如何设置?
  • GCC 编译使用动态链接库和静态链接库的方法
  • 【紧急求助】IBM AIX 4.3.3上用gcc 静态链接程序出错,不知为何?
  • 太奇怪了,正在开发bootloader,gcc难道有内置的string的处理函数链接到我的程序中了?我根本没有链接C库啊。
  • 有关gcc的链接选项
  • GCC curses动态库链接的错误
  • 新手,gcc如何链接自己编的库文件呀?万分感激.
  • gcc链接的库,分不分单线程版本的和多线程版本的?
  • 请研究过gcc链接器的高手帮忙!
  • gcc链接的时候报错,为什么?
  • 问个弱弱的关于GCC的链接问题
  • arm-linux-gcc 编译时加载<math.h>动态链接库的问题
  • 帮忙看看,gcc中 把所有的目标文件链接为动态库 的命令 错在哪里?
  • 求助:程序能编译但不能链接,重新安装了GCC也是那样的问题
  • gcc 链接问题
  • 在Unix环境下用gcc如何编译成动态链接库文件?类似Windows下的DLL文件。
  • 用gcc指定需要链接的库的命令是什么?
  • gcc编译链接的时候出错,不能生成可执行文件。
  • Help:gcc链接出错,cannot open crt1.o!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • GCC无法安装的问题,希望有人帮我( Debian 4.04ra无法安装GCC)
  • arm-linux-gcc 编译时加载<math.h>动态链接库的问题 iis7站长之家
  • 疑惑softfloat的问题,并求arm-linux-gcc和arm-linux-softfloat-gcc4.1.1
  • 安装Oracel,关于ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc的问题
  • 卸载和安装GCC问题
  • gcc安装的问题
  • cc与gcc的问题
  • 关于gcc的问题!
  • gcc 问题
  • 内核版本问题 GCC版本问题
  • solaris下gcc问题
  • GCC 与 Samba 问题 ?
  • gcc-g++版本问题
  • gcc问题,求助
  • 请大虾支招啊-gcc 编译选项问题 以及 makefile的问题
  • 初学gcc使用的问题
  • ****求助,关于REDHAT LINUX 9下的GCC编译器问题.............
  • Ubuntu8.04安装GCC问题
  • gcc安装遇到的问题
  • 请问大虾有关在windows上移植GCC的问题。
  • Linux下GCC内置原子操作函数(多线程资源访问)介绍
  • 使用popen来执行gcc命令,如何根据读出来的gcc的输出来判断gcc是否编译成功?
  • 命令:mips_fp_le-gcc,mipsel-gcc 是什么意思?跟一般的gcc有什么区别?
  • 怎样升级我的GCC呀,我用的RH7.2,GCC 2.96 ,我从网上下载了一个gcc-3.2.3.tar.gz
  • arm-elf-gcc 和 arm-linux-gcc有什么区别?arm-elf-gcc里的elf代表什么?
  • gcc-ccore、avr-gcc及arm-gcc的区别
  • gcc在哪里?bash:gcc:command not found
  • 如何删掉GCC3.0(我需要GCC2.0-----)
  • Windows版GCC TDM-GCC
  • 急问:如何卸掉gcc 3.2庄gcc 2.96
  • 有人遇到过吗,在安装GCC时提示,"checking gcc ...no "


  • 站内导航:


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

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

    浙ICP备11055608号-3