我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:
例:
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的路径中寻找libworld.so动态库文件(如果gcc编译选项中加入了“-static”表示寻找libworld.a静态库文件)
编译程序时可以通过- gcc -I path #设定头文件所在位置
- gcc -L path #设定程序所需的lib位置
你编译arm-linux-gcc吧?
- ./configure --prefix=path #你所希望的目录
源码的安装一般由3个步骤组成:
配置(configure)
编译(make)
安装(make install)
2安装方法编辑
具体的安装方法一般作者都会给出文档,这里说明配置(configure)的prefix选项
以安装supersparrow-0.0.0为例,我们打算把他安装到目录 /usr/local/supersparrow,于是在supersparrow-0.0.0目录执行带选项的
脚本
./configure –prefix=/usr/local/supersparrow
执行成功后再编译、安装(make,make install);安装完成将自动生成目录supersparrow,而且该软件任何的文档都被复制到这个目录。为什么要指定这个
安装目录?是为了以后的维护方便,假如没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,很难弄清楚到底复制了那些文档、都复制到哪里去了—基本上是一塌糊涂。
用了—prefix选项的另一个好处是
卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就能够把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
一个小选项有这么方便的作用,建议在实际工作中多多使用。