大佬教程收集整理的这篇文章主要介绍了c – 在使用与目标发行版不同的编译器构建时,处理库依赖项的常用方法是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当在同一个发行版中构建某些东西时(例如在Linux等上),它非常简单 – 一切都是用相同的编译器构建的.但是像Mozilla Firefox这样的项目如何运送二进制文件据称与许多潜在目标兼容?我知道一种方法是静态链接C依赖关系,这减少了ABI不兼容问题,并限制外部链接只限于几个C库,但是当我查看实际的Firefox二进制文件时(来自Mozilal版本的Linux x86_64),我看到了这个:
ldd firefox linux-vdso.so.1 (0x00007fff561fc000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff868c9f000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff868a9b000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff868892000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff868587000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff868286000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff86806f000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff867cc6000) /lib64/ld-linux-x86-64.so.2 (0x00007ff868ee8000)
这里Firefox动态链接libstdc.那么它如何才能在不@R_904_11197@的libstdc中正常工作,或者只是假设ABI兼容性就是这样呢?
以上是大佬教程为你收集整理的c – 在使用与目标发行版不同的编译器构建时,处理库依赖项的常用方法是什么?全部内容,希望文章能够帮你解决c – 在使用与目标发行版不同的编译器构建时,处理库依赖项的常用方法是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。