c - 如何使用 uclibc 进行静态构建

标签 c compilation static-libraries uclibc

我有一个可以运行的 uclibc 工具链。我可以静态编译一个简单的hello.c程序(arm-linux-gcc hello.c -o hello -static -s),但源包会自动动态编译。如何将默认值更改为静态?

最佳答案

您必须编辑正在编译的源数据包的 makefile(额外的 LDFLAG -static,就像您对 hello.c 文件所做的那样)。大多数时候源数据包是通过 autoconf 传递的。在这种情况下,您可能可以传递 --enable-static-link 标志进行配置。请参阅configure --help 了解可能的参数集。

其他注意事项:交叉编译需要其他库的包时要小心。您不想静态链接主机库。

关于c - 如何使用 uclibc 进行静态构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7716075/

相关文章:

c++ - ferror() 返回值的消息文本

c - C中的全局结构体

java - 使用 EJML.jar 文件编译

ios - 在 iOS 中创建和部署静态库时避免 header 冲突

c - Windows 中的高级 C 编程(pthreads、信号和信号量,天哪!)

c - 增加字符串值的数字末尾

linux - fatal error asm/bitsperlong.h 没有这样的文件或目录

C++17 编译器不应该发现对未定义值的引用传递吗?

c++ - 将 OpenSSL 静态库添加到 vc++ 项目

c - 将几个依赖库链接到我的 "bare metal"C 应用程序中