c语言中的静态库问题
我试图在c语言中的静态库问题,c,ubuntu-14.04,static-libraries,C,Ubuntu 14.04,Static Libraries,我试图在C中创建一个静态库。我正在使用gcc版本4.8.4(Ubuntu 4.8.4-2ubuntu1~14.04.3) 我的c文件在这里: add.c //Addition operation perform sub.c // Subtract operation perform mul.c // Multiply operation perform div.c // Division operation perform 我正试图使用以下命令来装箱静态库libabc.a ar rcs lib
C
中创建一个静态库。我正在使用gcc版本4.8.4(Ubuntu 4.8.4-2ubuntu1~14.04.3)
我的c文件在这里:
add.c //Addition operation perform
sub.c // Subtract operation perform
mul.c // Multiply operation perform
div.c // Division operation perform
我正试图使用以下命令来装箱静态库libabc.a
ar rcs libabc.a add.c sub.c mul.c div.c
它已经成功创建。但是当我使用/a.out./libabc.a
运行可执行文件时,我得到了以下错误
./libabc.a: error adding symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status
我做错了什么?请帮帮我
提前感谢。使用目标文件(.o
)而不是源文件(.c
)。像
使用-c
选项,创建.o
文件
cc -c -fpic add.c sub.c mul.c div.c
要纯静态链接库,请使用-static
,如
cc -static yourprgram.c libabc.a
并运行可执行文件/a.out
。它成功地工作了
cc -static yourprgram.c libabc.a