1. 头文件
使用-I标志来包含头文件。
gcc -I/usr/openwin/include fred.c
2. 库文件
通过给出 完整的库文件路径名 或 用-l标志 来告诉编译器要搜索的库文件。
gcc -o fred fred.c /usr/lib.libm.a
gcc -o fred fred.c -lm
使用-lm标志,如果有共享库,编译器会自动选择共享库。
可以使用-L标志为编译器增加库的搜索路径:
gcc -o x11fred -L/usr/openwin/lib x11fred.c-lX11
该条命令用/usr/openwin/lib目录中的libX11库版本来编译和链接程序x11fred。
3. 静态库
也称为归档文件(archive),使用ar程序和gcc -c
命令。
gcc -c bill.c fred.c
产生文件:bill.o fred.o
ar crv libfoo.a bill.o fred.o
产生归档文件:libfoo.a
gcc -o program program.o libfoo.a
或者 gcc -o program program.o -L. -lfoo
生成程序:program
目标模块 | func.o | FUNC.OBJ |
静态函数库 | lib.a | LIB.LIB |
程序 | program | PROGRAM.EXE |
4. 共享库
用于搜索共享库的额外位置可以在文件/etc/ld.so.conf中配置,如果修改了这个文件,需要执行命令ldconfig
来处理。
可以通过ldd来查看一个程序需要的共享库。
ldd program
5. 获得帮助
Example: man gcc
info gcc