关于Linux GCC的路径问题(Include路径, lib 路径)

本文详细介绍了GCC编译器的路径配置方法,包括如何通过配置文件指定头文件和库文件的位置,解析了`../configure --prefix`等参数的作用,并提供了具体的配置实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    前几天遇到一个问题GCC include 路径是怎样设定的  GCC 在执行编译的时候是怎样搜索它的头文件路径的喃? 还有它的LIB文件库的路径?   我问了一个同学,他说的是它自己内部就已经确定的了。 我在想如果我重新安装GCC 它会不会产生覆盖?
    我就当它是默认的, 但是我的Gcc遇到了一个问题使我不得不去重新认识gcc的工作。
    安装gcc的时候首先要配置, 就是在配置这里, 我终于认清了gcc的路径问题。
    当你在bash下输入 gcc -v 的时候它会显示:
    ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-cpu=generic --build=i386-redhat-linux
    这个就是你的Gcc的配置文件。在执行 ./configure  后面加上的数据。  看见了“--prefix”了没有, 正是它在影响GCC的执行路径。
   下面的是在gcc 安装原码包里面的文件内容:(我挑了几句出来)
    --prefix=dirname
Specify the toplevel installation directory. This is the recommended way to install the tools into a directory other than the default. The toplevel installation directory defaults to /usr/local.
    --exec-prefix=dirname
    Specify the toplevel installation directory for architecture-dependent files. The default is prefix.
    --bindir=dirname
   Specify the installation directory for the executables called by users (such as gcc and g++). The default is exec-prefix/bin.
--libdir=dirname
Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
--libexecdir=dirname
Specify the installation directory for internal executables of GCC. The default is exec-prefix/libexec.
--with-slibdir=dirname
Specify the installation directory for the shared libgcc library. The default is libdir.
--infodir=dirname
Specify the installation directory for documentation in info format. The default is prefix/info.
--datadir=dirname
Specify the installation directory for some architecture-independent data files referenced by GCC. The default is prefix/share.
--mandir=dirname
Specify the installation directory for manual pages. The default is prefix/man. (Note that the manual pages are only extracts from the full GCC manuals, which are provided in Texinfo format. The manpages are derived by an automatic conversion process from parts of the full manual.)
--with-gxx-include-dir=dirname
Specify the installation directory for G++ header files. The default is prefix/include/c++/version.

看清楚了吗? 其它的配置命令我准备把它上来。
   如果你看完了你肯定就有所了解了!  如果我说得有什么问题的话,通知我一声。 wushibin1@gmail.com  大家共同进步!
<think>我们正在查找aarch64-linux-gnu-gcc在Ubuntu16.04中的安装路径。根据引用内容,我们知道在Ubuntu16.04中可以通过apt安装交叉编译工具链。安装后,如何查看其安装路径呢?在Linux系统中,通过apt安装的软件,其可执行文件通常存放在系统的特定目录中。常见的存放位置包括:-`/usr/bin`:存放用户安装的可执行文件(通常是没有版本号的主程序符号链接)-`/usr/lib/gcc-cross`:存放交叉编译工具链的特定版本(可能有版本号)具体到aarch64-linux-gnu-gcc,根据引用[3]中的安装步骤,我们安装了两个部分:1.安装了特定版本的交叉编译器,例如`gcc-5-aarch64-linux-gnu`,这个包会安装带有版本号的编译器,如`aarch64-linux-gnu-gcc-5`。2.安装了没有版本号的`gcc-aarch64-linux-gnu`包,这个包实际上会创建一个符号链接,指向已安装的某个版本(比如最新安装的版本)的编译器。因此,我们可以通过以下方法查找:方法1:使用`which`命令查找可执行文件的位置在终端中执行:whichaarch64-linux-gnu-gcc方法2:使用`dpkg`查询软件包安装的文件由于我们是通过apt安装的,所以可以使用dpkg来查看软件包安装的文件列表。首先,确定我们安装的软件包名称。根据引用[3]:-我们安装了`gcc-5-aarch64-linux-gnu``gcc-aarch64-linux-gnu`(以及对应的g++包)-其中,`gcc-aarch64-linux-gnu`是一个元包,它可能只包含一个指向具体版本的符号链接。查询具体包安装的文件:dpkg-Lgcc-5-aarch64-linux-gnu|grepbindpkg-Lgcc-aarch64-linux-gnu|grepbin方法3:直接使用find命令在常见目录中查找find/usr-nameaarch64-linux-gnu-gcc但通常我们不需要这么麻烦,因为安装后,它应该已经在系统的PATH路径中,所以直接使用`which`或`whereis`即可。根据经验,交叉编译器的可执行文件通常位于:/usr/bin/aarch64-linux-gnu-gcc(这是符号链接,指向实际版本)/usr/bin/aarch64-linux-gnu-gcc-5(实际的可执行文件,版本号可能不同)另外,交叉编译器相关的库头文件等可能安装在:/usr/aarch64-linux-gnu/但用户问的是`aarch64-linux-gnu-gcc`这个可执行文件的路径。让我们结合引用[3]中的安装步骤,可以推测:安装后,我们使用`aarch64-linux-gnu-gcc-v`查看版本,这说明该命令已经在PATH中。因此,最直接的方法就是在终端中运行:whichaarch64-linux-gnu-gcc它会输出类似:/usr/bin/aarch64-linux-gnu-gcc然后我们可以通过`ls-l`查看这个路径是符号链接还是真实文件,以及它指向哪里。所以,回答用户的问题:在Ubuntu16.04中,通过apt安装的aarch64-linux-gnu-gcc,其安装路径通常为`/usr/bin/aarch64-linux-gnu-gcc`。我们可以使用`which`命令来确认。如果用户想要知道该编译器实际安装的所有文件路径,则可以使用`dpkg-L`来查看对应软件包安装的文件列表。注意:根据引用的安装步骤,用户可能安装了两个包,即`gcc-5-aarch64-linux-gnu``gcc-aarch64-linux-gnu`。其中,`gcc-aarch64-linux-gnu`安装的是无版本号的符号链接,而`gcc-5-aarch64-linux-gnu`安装的是实际的可执行文件(带有版本号)。因此,我们可以这样操作:1.查找符号链接的路径(即不带版本号的命令):whichaarch64-linux-gnu-gcc2.查找实际可执行文件的路径(可能被符号链接指向):ls-l$(whichaarch64-linux-gnu-gcc)或者直接查找所有相关文件:dpkg-Lgcc-5-aarch64-linux-gnu|grepbin/aarch64-linux-gnu-gcc但通常,用户只需要知道命令所在的路径,以便在编译脚本中使用,所以`which`命令的输出就是用户想要的。另外,如果用户安装了多个版本,那么可能需要查看具体版本。但引用中没有提到多版本并存的情况,所以默认使用`which`即可。根据引用[1]引用[3],安装后可以使用`aarch64-linux-gnu-gcc-v`查看版本,这也说明该命令已经在PATH中。因此,总结回答:在Ubuntu16.04中,通过apt安装的aarch64-linux-gnu-gcc,其可执行文件通常位于`/usr/bin/aarch64-linux-gnu-gcc`。您可以使用以下命令查看具体路径:whichaarch64-linux-gnu-gcc如果该命令没有输出,则说明可能没有安装或者不在PATH中,但按照引用中的安装步骤,应该是安装成功的。如果用户想要知道该编译器的所有文件安装路径,可以使用dpkg查询安装的包。下面我们按照用户要求生成相关问题:</think>在Ubuntu 16.04系统中,通过`apt`安装的`aarch64-linux-gnu-gcc`交叉编译工具的路径查找方法如下: ### 查找步骤 1. **使用 `which` 命令定位可执行文件** 在终端执行: ```bash which aarch64-linux-gnu-gcc ``` 输出示例: `/usr/bin/aarch64-linux-gnu-gcc` 此路径是编译器的主入口(通常是符号链接)。 2. **查看真实路径(若存在符号链接)** 执行: ```bash ls -l /usr/bin/aarch64-linux-gnu-gcc ``` 输出示例: `lrwxrwxrwx ... /usr/bin/aarch64-linux-gnu-gcc -> aarch64-linux-gnu-gcc-5` 这表示它指向实际版本(如`aarch64-linux-gnu-gcc-5`)。 3. **通过 `dpkg` 查询文件归属(推荐)** 执行: ```bash dpkg -L gcc-aarch64-linux-gnu | grep bin/aarch64 ``` 输出示例: ``` /usr/bin/aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-5 ``` 这会列出软件包安装的所有可执行文件路径[^3]。 4. **搜索特定版本路径(如安装多版本)** 若安装了`gcc-5-aarch64-linux-gnu`,执行: ```bash dpkg -L gcc-5-aarch64-linux-gnu | grep bin ``` 输出示例: `/usr/bin/aarch64-linux-gnu-gcc-5` --- ### 典型安装路径总结 | 组件类型 | 路径 | 说明 | |-------------------|---------------------------------------|-------------------------------| | **主编译器** | `/usr/bin/aarch64-linux-gnu-gcc` | 默认调用的符号链接 | | **具体版本编译器**| `/usr/bin/aarch64-linux-gnu-gcc-5` | 实际二进制文件(版本号可能不同) | | **头文件/库文件** | `/usr/aarch64-linux-gnu/include/` | 目标架构的头文件 | | | `/usr/aarch64-linux-gnu/lib/` | 目标架构的库文件 | > **注意**:路径中的版本号(如`-5`)取决于安装时选择的工具链版本[^1][^3]。 --- ### 验证安装 运行版本检查: ```bash aarch64-linux-gnu-gcc -v ``` 输出中的`gcc version``Target: aarch64-linux-gnu`可确认工具链配置正确[^1][^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值