测试积点老人 发表于 2019-1-8 15:21:24

制作并测试静态库

编译静态库过程:    源文件包括: liberr.h, liberr.c    编译为静态库:      gcc -c liberr.c -o liberr.o      ar rcs liberr.a liberr.o      如此, 就在当前目录下构建好静态库文件liberr.a;
扩展:      . ar -t liberr.a列出库文件中所有的目标文件(.o);      . nm, 列出目标文件(.o)的符号清单;            nm -s liberr.a      . objdump, 查看目标文件的信息, 就是(ar和nm的复合);
测试该静态库:    测试文件: errtest.c    编译连接: gcc errtest.c -static -L. -lerr -o test    其中, -lerr, 指定静态库名为liberr; -L. , 指定静态库的搜索路径为当前目录;    报错: /usr/bin/ld: cannot find -lc      也就是说, 连接器找不到libc.a; 上网查找, 说是因为未安装该库;      so, yum install glibc-static      再编译, OK.
页: [1]
查看完整版本: 制作并测试静态库