加载头文件路径配置
在实际编程时经常会涉及到包含头文件的问题。
采用#include ”xxx.h”的方式包含头文件编译器会先在工作目录中查找如果没找到则会继续查找系统目录。
采用#include <xxx.h>的方式包含头文件编译器则只会查找系统目录。
在实际项目中通常不会将.h文件直接放在工作目录或是系统目录下,所以经常会在编译的过程中遇到找不到头文件的情况。
如果是在linux环境下的话可以通过设置可以通过设置一个环境变量C_INCLUDE_PATH的方式来解决这个问题。为了避免要经常手动设置环境变量,我们可以在用户目录下的.bashrc文件中加入下面的一行就可以了:
exportC_INCLUDE_PATH=/home/moon/WorkSpace/GitHub/mlib/include
我的相关的库文件都是放在/home/moon/WorkSpace/GitHub/mlib/include 这个目录下的,如果有多个目录的话,不同的路径之间可以用冒号隔开。
C++语言对应的环境变量是CPLUS_INCLUDE_PATH。
链接库文件的路径配置
同样的如果在编程的过程中需要用到一些自己的库文件或者在网上找的一些库文件,如果没把相应的so文件放入系统默认的库文件路径的话,也会出现链接或运行程序的时候找不到库文件的情况。
我们也可以通过设置一个环境变量LD_LIBRARY_PATH来解决这个问题。设置方法同C_INCLUDE_PATH是一样的。
在编译的过程中即使我们设置LD_LIBRARY_PATH变量,在编译的过程也有可能提示找不到库文件。此时我们还需要配置gcc的-L选项。通常我采用的命令格式是:
gcc –L$LD_LIBRARY_PATH –o outputfile a.cb.c .. –lmylib