Linux系统中静态库是.a文件,编译链接.a文件只需要加上.a文件的完整的文件路径就可以了,比如:
gcc -o hello hello.c /usr/lib/libm.a
Linux系统的动态库是系统中的.so文件,编译链接动态库需要用-L参数指定动态库的搜索路径,还要用-l(这个是小写的L)指定动态库的名字(库名是砍头去尾得到的),lib中有libcrypto.so,砍头去尾得到crypto,比如:
gcc -o hello hello.c -L/usr/openssl/lib -lcrypto
Linux的静态库文件并不需要设置啊,编译链接.a静态库文件时只需要加上.a文件的完整路径就可以了,比如:
gcc -o hello hello.c /usr/lib/libm.a
只有编译链接动态库才需要用-L选项来设置动态库的搜索路径,比如这个命令:
gcc -o hello hello.c -L/usr/openssl/lib -lcrypto
-I:指定我们程序所需的头文件所在的路径(i的大写)
-L:指定我们程序所需的库文件所在的路径(软链接的库)
在Linux系统中,静态库通常是.a文件,编译时只需提供其完整路径。动态库则是.so文件,链接时需使用-L指定库路径,-l指定去掉lib和.so的库名。静态库编译无需特殊设置,而动态库需要-L和-l选项。此外,-I用于指定头文件路径。

被折叠的 条评论
为什么被折叠?



