比如:
gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld
上面这句表示在编译hello.c时-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,
寻找的顺序是:/home/hello/include-->/usr/include-->/usr/local/include
-L /home/hello/lib表示将/home/hello/lib目录作为第一个寻找库文件的目录,
寻找的顺序是:/home/hello/lib-->/lib-->/usr/lib-->/usr/local/lib
-lworld表示在上面的lib的路径中寻找库文件(如果gcc编译选项中加入了“-static”表示寻找libworld.a静态库文件)
但注意:-static显得有些’暴力’,因为他会把命令行中-static后面的所有-l指明的库都静态链接。
而一般的是采用如-Wl,-Bstatic告诉链接器使用-Bstatic选项,该选项是告诉链接器,对接下来的-l选项使用静态链接;
-Wl,-Bdynamic就是告诉链接器对接下来的-l选项使用动态链接
#include <>直接到 指定的某些目录中去找某些头文件。 注意-I 属于该类型
#include “”先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件。
“”中可以用类似“../inc/bluetooth/hci.h”:包含源文件上层目录中Inc下Bluetooth中的