如何指定GCC的默认头文件路径(非常有用)

在交叉编译的时候我们需要用到其他的库,在config时候可以通过“-I”来指定头文件目录,但是每次都需要设置的话难免有些麻烦,找到一个简单的方法。看下文的红色部分。

有大量的环境变量可供设置以影响 GCC 编译程序的方式。利用这些变量的控制也可使用合适的命令行选项。一些环境变量设置在目录名列表中。这些名字和 PATH 环境变量使用的格式相同。特殊字符 PATH_SEPARATOR (安装编译程序的时候定义)用在目录名之间。在 UNIX 系统中,分隔符是冒号,而 Windows 系统中为分号。 
C_INCLUDE_PATH 
编译 C 程序时使用该环境变量。该环境变量指定一个或多个目录名列表,查找头文件,就好像在命令行中指定 -isystem 选项一样。会首先查找 -isystem 指定的所有目录。 
也见 CPATH 、 CPLUS_INCLUDE_PATH 和 OBJC_INCLUDE_PATH 。 
COMPILER_PATH 
该环境变量指定一个或多个目录名列表,如果没有指定 GCC_EXEC_PREFIX 定位子程序,编译程序会在此查找它的子程序。 
也见 LIBRARY_PATH 、 GCC_EXEC_PREFIX 和 -B 命令行选项。 
CPATH 编译 C 、 C++ 和 Objective-C 程序时使用该环境变量。该环境变量指定一个或多个目录名列表,查找头文件,就好像在命令行中指定 -l 选项一样。会首先查找 -l 指定的所有目录。 
也见 C_INCLUDE_PATH 、 CPLUS_INCLUDE_PATH 和 OBJC_INCLUDE_PATH 。 
CPLUS_INCLUDE_PATH 
编译 C++ 程序时使用该环境变量。该环境变量指定一个或多个目录名列表,查找头文件,就好像在命令行中指定 -isystem 选项一样。会首先查找 -isystem 指定的所有目录。 
也见 CPATH 、 C_INCLUDE_PATH 和 OBJC_INCLUDE_PATH 。 
DEPENDENCIES_OUTPUT 为文件名设置该环境变量会让预处理程序将基于依赖关系的 makefile 规则写入文件。不会包括系统头文件名字。 
如果环境变量设置为单名,被看作是文件名字,而依赖关系规则的名字来自源文件名字。如果定义中有两个名字,则第二个名字是用作依赖关系规则的目标名。 
设置该环境变量的结果和使用命令行选项 -MM 、 -MF 和 -MT 的组合是一样的。也见 SUNPRO_DEPENDENCIES 。 
GCC_EXEC_PREFIX 如果定义了该环境变量,它会作为编译程序执行的所有子程序名字的前缀。例如,如果将变量设置为 testver 而不是查找 as ,汇编器首先会在名字testveras 下查找。如果在此没有找到,编译程序会继续根据它的普通名进行查找。可在前缀名中使用斜线指出路径名。 
GCC_EXEC_PREFIX 的默认设置为 
prefix /lib/gcc-lib/ ,这里的 prefix 是安装编译程序时 configure 脚本指定的名字。该前缀也用于定位标准连接程序文件,包含进来作为可执行程序的一部分。 
如果使用 -B 命令行选项,会重写该设置。也见 COMPILER_PATH 。 
LANG 该环境变量用于指出编译程序使用的字符集,可创建宽字符文字、串文字和注释。 
定义 LANG 为 C-JIS ,指出预处理程序将多字节字符按照 JIS (日语工业标准)字符进行解释。 C-SJIS 可用来指出 Shift -JIS 字符而 C-EUCJP 指出日文 EUC 。 
如果没有定义 LANG ,或定义为不可识别,函数 mblen() 被用来确定字符宽度,而 mbtowc() 用来将多字节序列转换为宽字符。 
LC_ALL 如果设置,该环境变量的值重写 LC_MESSAGES 和 LC_CTYPE 的所有设置。 
LC_CTYPE 该环境变量指出引用串中定义的多字节字符的字符分类。主要用于确定字符串的字符边界,字符编码需要用引号或转义符,可被错误地解释为字符串的结尾或特殊字 符串。对 Australian English ,可将它设置为 en_AU ; 对 Mexican Spanish ,可将它设置为 es_MX。如果没有设置该变量,默认为 LANG 变量的值,或如果没有设置 LANG ,那就使用 C 英语行为。也见 LC_ALL 。 
LC_MESSAGES 该环境变量指出编译程序使用何种语言发出诊断消息。对 Australian English ,可设置为 en_AU ; 对 MexicanSpanish ,可设置为 es_MX 。如果变量没有设置,使用 LANG 变量的默认值,或如果没有设置 LANG ,那就使用 C英语行为。也见 LC_ALL 。 
LD_LIBRARY_PATH 该环境变量不会影响编译程序,但程序运行的时候会有影响。变量指定一个目录列表,程序会查找该列表定位共享库。只有当未在编译程序的目录中找到共享库的时候,执行程序必须设置该变量。 
LD_RUN_PATH 该环境变量不会影响编译程序,但程序运行的时候会有影响。该变量在运行时指出文件的名字,运行的程序可由此得到它的符号名字和地址。地址不会重新载入,因而可能符号引用其他文件中的绝对地址。这和 ld 工具使用 -R 选项完全一样。 
LIBRARY_PATH 
该环境变量可设置为一个或多个目录名字列表,连接程序会搜寻该目录,以查找特殊连接程序文件,和由 -l (字母 )命令行选项指定名字的库。 
由 -L 命令行选项指定的目录在环境变量的前面,首先被查找。也见 COMPILER_PATH 。 
OBJC_INCLUDE_PATH 在编译 Objective-C 程序的时候使用该环境变量。一个或多个目录名的列表由环境变量指定,用来查找头文件,就好像在命令行中指定 -isystem 选项一样。所有由 -isystem 选项指定的目录会首先被查找。 
也见 CPATH 、 CPLUS_INCLUDE_PATH 和 C_INCLUDE_PATH 。 
SUNPRO_OUTPUT 为文件名设置该环境变量会令预处理程序将基于依赖关系的 makefile 规则写入文件。会包含系统头文件名。 
如果环境变量被设置为单个名字,它将会被当作文件名,依赖关系规则中的名字将由源文件的名字中获得。如果定义中有两个名字,第二个名字就是依赖关系规则中的目标名。 
设置该环境变量的结果与在命令行中使用参数 -M 、 -MF 和 -MT 的效果一样。参见 DEPENDENCIES_OUTPUT 。 
TMPDIR 这个变量包含了供编译程序存放临时工作文件的目录的路径名。这些文件通常在编译过程结束时被删除。这种文件的一个例子就是由预处理程序输出并输入给编译程序的文件。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Ubuntu 18.04上使用Eclipse开发,可以按照以下步骤查找Eclipse配置文件的路径: 1. 打开Eclipse并选择一个工作区。 2. 选择“Window”菜单,然后选择“Preferences”。 3. 在“Preferences”对话框中,选择“General”类别。 4. 在“General”类别下,选择“Startup and Shutdown”。 5. 在“Startup and Shutdown”中,选择“Workspaces”。 6. 在“Workspaces”中,可以看到“Workspace Data”选项,其中包含了Eclipse配置文件的路径。 在Ubuntu 18.04上,默认情况下,Eclipse配置文件的路径应该是在你的home目录下的隐藏文件夹中。因此,如果你的用户名为“user”,那么Eclipse配置文件的路径应该是/home/user/.eclipse/。在.eclipse文件夹中,你可以找到你的Eclipse安装文件的配置文件,以及你在Eclipse中创建的任何其他配置文件。 ### 回答2: 要在Ubuntu 18.04中为Eclipse设置ROS头文件路径,请按照下面的步骤进行操作: 1. 首先,确保系统上已经安装了ROS,并且设置了正确的ROS环境变量。可以通过在终端中运行以下命令来检查ROS环境是否设置正确: ``` $ echo $ROS_PACKAGE_PATH ``` 如果正确设置,应该会输出ROS软件包的路径。 2. 打开Eclipse并导航到Project > Properties。 3. 在弹出的窗口中,选择C/C++ Build > Settings。 4. 在左侧的菜单中,选择Tool Settings选项下的GCC C++ Compiler。 5. 在右侧的选项卡中,选择Includes,并在Include paths (-l)下方的空白字段中,点击右上角的加号按钮。 6. 在弹出的窗口中,点击File System按钮。 7. 在弹出的ROS文件系统窗口中,选择Include文件夹,并点击OK按钮。 8. 现在,应该会看到所选文件夹的路径已添加到Include paths (-l)字段中。点击Apply并关闭窗口。 现在,您的Eclipse项目将能够找到ROS头文件。您可以继续编写和调试与ROS相关的代码。请注意,如果您的ROS软件包位于非默认位置,您可能需要手动添加正确的路径。 ### 回答3: 在ubuntu18.04系统中,设置Eclipse的ROS头文件路径,可以按照以下步骤进行操作: 1. 打开Eclipse,并打开要使用ROS的项目。 2. 在Eclipse界面的左侧导航栏中,选择项目,右键点击并选择"Properties"。 3. 在弹出的窗口中,选择"C/C++ General",并展开子选项。 4. 选择"Paths and Symbols"子选项,在其中找到"C++ Includes"或"Include directories"。 5. 点击"Add"按钮,然后选择"Workspace..."按钮。 6. 在弹出的窗口中,展开ROS工作空间,并选择要导入的ROS项目,点击"OK"按钮。 7. 在"C/C++ General"窗口中,选择刚刚导入的ROS项目,点击"OK"按钮。 8. 关闭项目并重新打开,Eclipse会自动解析ROS头文件路径,并在编译时正确引用。 这样,您就成功地将ROS头文件路径添加到了Eclipse的项目中。通过这种设置,您就可以在Eclipse中正确地引用ROS的头文件,并进行ROS相关的开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值