Tag: 静态库

GCC创建共享对象而不是可执行二进制文件

我有一个正在建设的图书馆。 当我运行以下任何一个时,我的所有对象都会连续编译和链接: ar rcs lib/libryftts.a $^ gcc -shared $^ -o lib/libryftts.so 在我的Makefile中。 我也能够成功地将它们安装到/usr/local/lib当我用nm测试文件时,所有的function都在那里。 我的问题是当我运行gcc testing/test.c -lryftts -o test && file ./test或gcc testing/test.c lib/libryftts.a -o test && file ./test时说: test: ELF 64-bit LSB shared object而不是test: ELF 64-bit LSB executable正如我所料。 我究竟做错了什么?