我的系统是运行2.6.32的旧NAS . 我发现当对任何后续库使用-static时,它也会尝试静态链接我可能需要的任何其他库 .

当我首先添加-Wl,-Bdynamic标志然后使用-lc显式命名这些库时,例如“-Wl,-Bdynamic -lc -lstdc”,那么它可以工作 . 所以会发生什么是libc和其他人无法静态链接 .

系统上的静态libc称为 /opt/lib/libc_nonshared.a.

/opt/lib/libc.so的内容是这样的:

OUTPUT_FORMAT(elf32-littlearm)

GROUP ( /lib/libc.so.6 /opt/lib/libc_nonshared.a )

gcc版本是4.2.3 . 我面临的当前构建命令在最后添加 -dynamic 但这没有多大帮助 . 当我使用.a名称直接添加一些静态库,而不是使用-l标志时,则没有问题 .

问题似乎是libc的动态库随NAS一起提供,但静态版本位于/ opt / lib中 .

我跑:

gcc hamming.c -static -L. -L/opt/lib -l:matrix.a -o hamming

我明白了:

/opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lc

collect2: ld returned 1 exit status

make: *** [hamming] Error 1

当我尝试按原样使用静态libc时 . 如果我执行'hack'将libc_nonshared.a链接到libc.a,它会突然找到它 . 但抱怨:

hamming.c:54: undefined reference to `malloc'

hamming.c:54: undefined reference to `memset'

当然还有其他的错误 . 如上所述,/ opt / libc.so包含对这两个文件的引用(动态和静态) .

对于libstdc,只存在.la文件 .

android 静态链接libc,静态链接任何库会导致libc无法链接相关推荐

  1. alsa的动态库安装在哪里_Linux链接库一(动态库,静态库,库放在什么路径下)...

    http://www.cppblog.com/wolf/articles/74928.html http://www.cppblog.com/wolf/articles/77828.html http ...

  2. Linux 动态链接和静态链接简析(库名与库文件名)

    原文请见 Linux动态链接和静态链接简析 0. 库名与真正的库文件名 就拿数学库来说,他的库名是 m,他的库文件名是libm.so,很容易看出,把库文件名的头 lib 和尾.so去掉就是库名.(gc ...

  3. qt_cannot find -lxxx, 链接动态/静态库失败

    LIBS += -L./lib/ -lxxx 链接动态/静态库 如果报错cannot find -lxxx, 关闭shadow build

  4. x64 编译 静态链接_C++静态库与动态库

    这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自 ...

  5. 【Linux】磁盘结构/文件系统/软硬链接/动静态库

    文章目录 前言 一.磁盘结构 1.磁盘的物理结构 2.磁盘的存储结构 3.磁盘的逻辑结构 二.文件系统 1.对 IO 单位的优化 2.磁盘分区与分组 3.对分组的具体管理方法 4.文件操作 三.软硬链 ...

  6. Linux-动态链接与静态链接对比(动态库和静态库)

    博客转载自:Linux-动态链接与静态链接对比 一.库的基础概念: 在windows平台和linux平台下都大量存在着库.本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.由于wi ...

  7. “.dll .obj .lib”和“ .so .o .a”文件与动态链接和静态链接

    ".dll .obj .lib"和" .so .o .a"文件 (1) .dll .obj .lib使用在windows平台下. .dll:动态链接库,作为共享 ...

  8. 通俗举例讲解动态链接、静态链接

    参考动态链接 - 知乎 加上我自己的理解,比较好懂,但可能在细节方面有偏差,但总体是一致的 静态链接的背景 静态链接使得不同的程序开发者和部门能够相对独立的开发和测试自己的程序模块,从某种意义上来讲大 ...

  9. Android NDK 使用第三方静态库(转)

    源:Android NDK 使用第三方静态库 转载于:https://www.cnblogs.com/LittleTiger/p/4556382.html

最新文章

  1. 语义分割--Full-Resolution Residual Networks for Semantic Segmentation in Street Scenes
  2. v-model双向绑定原理_Vue数据绑定
  3. Python3.2 --- Print函数用法
  4. MySQL root密码重置 报错:mysqladmin: connect to server at 'localhost' failed的解决方案
  5. 基于flask让图标显示在浏览器的标签中(例3-10)
  6. 【uoj#209】[UER #6]票数统计 组合数+乱搞
  7. django自定义用户表
  8. linux共享内存变量 tiaojianbianliang,低压集抄系统中Linux共享内存使用分析
  9. 初中信息技术说课稿_语文说课稿模板一等奖
  10. Windows10系统无法更改默认浏览器等默认设置
  11. 重邮计算机学院艺术团,毕业季 | 重庆邮电大学2019届 “邮梦青春,毕业季”文艺晚会...
  12. 代码炼金术·02集·卓越程序员磨刀不误砍柴工--快速学习能力
  13. 王文京:纵横30年,阵阵桂花香
  14. Docker容器无法解析域名
  15. Android与bmob的有机结合
  16. android图标未读消息,Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示...
  17. GCC and MinGW-w64 for Windows
  18. java参考中文站 http://www.javaref.cn
  19. 无外接环境下,单笔记本直连浪潮服务器BMC灌装系统
  20. 《Android平台开发之旅》学习笔记

热门文章

  1. Package包机制
  2. [软件使用]macos上更新系统后无法使用git
  3. 奥运英语[12] 你今天早晨好吗 How are you this morning?
  4. 似然函数,最大似然估计,以及与条件概率,贝叶斯概率区别简要说明
  5. 入门选手都能理解的ROC曲线与AUC值
  6. C语言断点测试无法输入,VS中无法加入断点进行调试解决方案
  7. 韦东山 IMX6ULL和正点原子_「正点原子FPGA连载」第十一章RGB LCD彩条显示(一)
  8. 【提前官宣】中服云邀请您参观IOTE2022第十八届国际物联网展·深圳站
  9. 2020全网最全前端安全综述(深度好文!)
  10. 用ABAP 企微应用推送消息样例