编译软件的时候,如果依赖其他软件的头文件和库文件,一般在 configure 参数里面会有with-somethin= 的选项。这样一般就能指定好路径。如果没这个参数,就把被依赖软件编译安装到默认位置,这样一般就能编译过去。比如安装到/usr/local下面。但是如果被依赖的软件安装到了/opt这样的目录,那么编译的时候就会提示找不到头文件和库文件。
说一个具体的例子,在debian lenny上编译tmux 1.4 依赖 libevent 1.4 ;我不喜欢把系统弄的很乱,就把libevent装到了/opt/libevent下面。但是tmux 1.4又没带with-libevent这样的参数。就很麻烦。
gcc手册
gcc默认的头文件搜索路径是/usr/local/include和/usr/include ; 库文件的搜索路径是/usr/local/lib和 /usr/lib ;
gcc可以用 -I 命令指定头文件路径,用-L命令指定库路径
同时,也可以用环境变量来增加一个头文件和库文件的路径,例如:
export C_INCLUDE_PATH=/opt/libevent/include
export LIBRARY_PATH=/opt/libevent/lib
c++的头文件路径变量是
CPLUS_INCLUDE_PATH
ps:有时间得把 autoconf;automkae这些东西深入了解下。