linux下的库链接

Posted on 2017-03-05 17:44  future_liu  阅读(238)  评论(0编辑  收藏  举报
linux下的编译一般都是需要一些头文件或者库文件的支持,头文件或者库文件一般的默认路径是在/usr/include/ 和/usr/lib/下的,但是当你需要的文件没有在默认的路径下,该怎么办尼,这里提供了几种链接到的方法;
1.$ gcc foo.c -I /home/liuru/include -o foo                                               链接到/home/liuru/include 下的头文件,使用-I选项
2.$ gcc foo.c -L /home/liuru/lib -lfoo -o foo                                             链接到/home/liuru/lib/下的库文件,不需要使用-libfoo.so,因为                                                                                                                      当看到 lfoo 时会自动链接到libfoo.so 的库文件,libfoo是命名规范,
linux 下的库文件分为两大类,静态库(.a)和动态库(.so) , 差别是运行时动态添加的还是编译时静态添加的,gcc 默认是动态库文件;
3.$ gcc foo.c -L /home/liuru/lib -static -lfoo -o foo                                  只添加静态库文件不添加动态库文件