gcc 都用-L链接静态库和动态库,在相同路径下,都存在静态库和动态库,如何区分静态库和动态库
时间: 2023-08-13 13:10:45 浏览: 107
GCC_生成静态库和动态库.pdf
在使用 gcc 进行链接静态库和动态库时,需要使用不同的参数来区分它们。具体来说:
1. 链接静态库时,使用参数 -l<库名>,例如 -lfoo 表示链接静态库 libfoo.a。
2. 链接动态库时,使用参数 -l<库名> 和 -shared,例如 -lfoo -shared 表示链接动态库 libfoo.so。
当在相同路径下同时存在静态库和动态库时,可以通过后缀名来区分它们。一般来说:
1. 静态库的后缀名为 .a。
2. 动态库的后缀名为 .so(在 Windows 平台上为 .dll)。
因此,如果你想链接名为 libfoo 的静态库,可以使用参数 -lfoo,并且需要保证 libfoo.a 存在于搜索路径中;如果你想链接名为 libfoo 的动态库,可以使用参数 -lfoo -shared,并且需要保证 libfoo.so 存在于搜索路径中。
阅读全文