欢迎来到天天文库
浏览记录
ID:8892977
大小:22.56 KB
页数:13页
时间:2018-04-10
《linux下gcc编译中关于头文件与库文件搜索路径相关问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Linux下gcc编译中关于头文件与库文件搜索路径相关问题 (2011-05-1115:27:50)如何指定gcc的默认头文件路径 在交叉编译的时候我们需要用到其他的库,在config时候可以通过“-I”来指定头文件目录,但是每次都需要设置的话难免有些麻烦,找到一个简单的方法。看下文的红色部分。有大量的环境变量可供设置以影响GCC编译程序的方式。利用这些变量的控制也可使用合适的命令行选项。一些环境变量设置在目录名列表中。这些名字和PATH环境变量使用的格式相同。特殊字符PATH_SEPARATOR(安装编译程序的时候定义)用在目录名之间。在
2、UNIX系统中,分隔符是冒号,而Windows系统中为分号。C_INCLUDE_PATH编译C程序时使用该环境变量。该环境变量指定一个或多个目录名列表,查找头文件,就好像在命令行中指定-isystem选项一样。会首先查找-isystem指定的所有目录。==>也见CPATH、CPLUS_INCLUDE_PATH和OBJC_INCLUDE_PATH。COMPILER_PATH该环境变量指定一个或多个目录名列表,如果没有指定GCC_EXEC_PREFIX定位子程序,编译程序会在此查找它的子程序。==>也见LIBRARY_PATH、GCC_EXEC
3、_PREFIX和-B命令行选项。CPATH编译C、C++和Objective-C程序时使用该环境变量。该环境变量指定一个或多个目录名列表,查找头文件,就好像在命令行中指定-l选项一样。会首先查找-l指定的所有目录。==>也见C_INCLUDE_PATH、CPLUS_INCLUDE_PATH和OBJC_INCLUDE_PATH。CPLUS_INCLUDE_PATH编译C++程序时使用该环境变量。该环境变量指定一个或多个目录名列表,查找头文件,就好像在命令行中指定-isystem选项一样。会首先查找-isystem指定的所有目录。==>也见CP
4、ATH、C_INCLUDE_PATH和OBJC_INCLUDE_PATH。DEPENDENCIES_OUTPUT为文件名设置该环境变量会让预处理程序将基于依赖关系的makefile规则写入文件。不会包括系统头文件名字。如果环境变量设置为单名,被看作是文件名字,而依赖关系规则的名字来自源文件名字。如果定义中有两个名字,则第二个名字是用作依赖关系规则的目标名。设置该环境变量的结果和使用命令行选项-MM、-MF和-MT的组合是一样的。==>也见SUNPRO_DEPENDENCIES。GCC_EXEC_PREFIX如果定义了该环境变量,它会作为编译
5、程序执行的所有子程序名字的前缀。例如,如果将变量设置为testver而不是查找as,汇编器首先会在名字testveras下查找。如果在此没有找到,编译程序会继续根据它的普通名进行查找。可在前缀名中使用斜线指出路径名。GCC_EXEC_PREFIX的默认设置为 prefix /lib/gcc-lib/,这里的 prefix 是安装编译程序时configure脚本指定的名字。该前缀也用于定位标准连接程序文件,包含进来作为可执行程序的一部分。如果使用-B命令行选项,会重写该设置。==>也见COMPILER_PATH。LANG该环境变量用于指出编译
6、程序使用的字符集,可创建宽字符文字、串文字和注释。定义LANG为C-JIS,指出预处理程序将多字节字符按照JIS(日语工业标准)字符进行解释。C-SJIS可用来指出Shift-JIS字符而C-EUCJP指出日文EUC。如果没有定义LANG,或定义为不可识别,函数mblen()被用来确定字符宽度,而mbtowc()用来将多字节序列转换为宽字符。LC_ALL如果设置,该环境变量的值重写LC_MESSAGES和LC_CTYPE的所有设置。LC_CTYPE该环境变量指出引用串中定义的多字节字符的字符分类。主要用于确定字符串的字符边界,字符编码需要用
7、引号或转义符,可被错误地解释为字符串的结尾或特殊字符串。对AustralianEnglish,可将它设置为en_AU;对MexicanSpanish,可将它设置为es_MX。如果没有设置该变量,默认为LANG变量的值,或如果没有设置LANG,那就使用C英语行为。也见LC_ALL。LC_MESSAGES该环境变量指出编译程序使用何种语言发出诊断消息。对AustralianEnglish,可设置为en_AU;对MexicanSpanish,可设置为es_MX。如果变量没有设置,使用LANG变量的默认值,或如果没有设置LANG,那就使用C英语行为
8、。也见LC_ALL。LD_LIBRARY_PATH该环境变量不会影响编译程序,但程序运行的时候会有影响。变量指定一个目录列表,程序会查找该列表定位共享库。只有当未在编译程序的目录
此文档下载收益归作者所有