如何编译 glibc(32 位和 64 位)?
How to you compile glibc (32-bit and 64-bit)?
现在,我的项目中有一个 open-source 依赖库(mylib.a 文件)的修改版本,因此我通过 gcc 命令(s)静态 linked ).我收到的错误是...
"statically linked applications require at runtime the shared libraries from the glibc version used for linking"
我的翻译:我的静态依赖库不能动态使用glibc;它还必须进行编译和动态 linked。因此,我正在尝试静态编译 link glibc.
我收集到它们需要编译,*.a 库放在项目中的一个文件夹中,为包含添加“-I//location//” headers ,以及为库本身添加的“-L//location//”。
但是,对于问题本身...
如何编译 glibc(32 位和 64 位)?
通过 open-source 研究,我发现了这个 link 并且我已经克隆了 repo,但我找不到任何关于如何实际编译它的文档。
git clone git://sourceware.org/git/glibc.git
欢迎提出任何想法或建议。
My translation: my static dependency library cannot dynamically use glibc; it must also be compiled and dynamically linked. Thus, I'm trying to compile and statically link glibc.
如n.m。指出,你的翻译有误。
您正在尝试 link 一个 完全静态的 可执行文件,并且 GLIBC 警告您此类可执行文件不会 运行 在具有安装了不同版本的 GLIBC。
不要尝试构建完全静态的可执行文件,而是使用 libc.so.6
构建它(您仍然可以 link mylib.a
进入此类可执行文件)。
如果您将 -static
添加到 link 的原因是您同时拥有 libmylib.a
和 libmylib.so
,并且希望 link前者而不是后者,阅读 this answer.
现在,我的项目中有一个 open-source 依赖库(mylib.a 文件)的修改版本,因此我通过 gcc 命令(s)静态 linked ).我收到的错误是...
"statically linked applications require at runtime the shared libraries from the glibc version used for linking"
我的翻译:我的静态依赖库不能动态使用glibc;它还必须进行编译和动态 linked。因此,我正在尝试静态编译 link glibc.
我收集到它们需要编译,*.a 库放在项目中的一个文件夹中,为包含添加“-I//location//” headers ,以及为库本身添加的“-L//location//”。
但是,对于问题本身...
如何编译 glibc(32 位和 64 位)?
通过 open-source 研究,我发现了这个 link 并且我已经克隆了 repo,但我找不到任何关于如何实际编译它的文档。
git clone git://sourceware.org/git/glibc.git
欢迎提出任何想法或建议。
My translation: my static dependency library cannot dynamically use glibc; it must also be compiled and dynamically linked. Thus, I'm trying to compile and statically link glibc.
如n.m。指出,你的翻译有误。
您正在尝试 link 一个 完全静态的 可执行文件,并且 GLIBC 警告您此类可执行文件不会 运行 在具有安装了不同版本的 GLIBC。
不要尝试构建完全静态的可执行文件,而是使用 libc.so.6
构建它(您仍然可以 link mylib.a
进入此类可执行文件)。
如果您将 -static
添加到 link 的原因是您同时拥有 libmylib.a
和 libmylib.so
,并且希望 link前者而不是后者,阅读 this answer.