如何查找已安装的MinGW GCC编译器的PATH变量

How to find PATH variable of installed MinGW GCC compiler?

本文关键字:MinGW GCC 编译器 变量 PATH 安装 何查找 查找      更新时间:2023-10-16

就在最近,我安装了Ubuntu并用它:Eclipse Version: Luna Service Release 2 (4.4.2) Build id: 20150219-0600。我已经通过 Ubuntu 为我的 64 位系统提供的命令行选项安装了 MinGW GCC 编译器。

sudo apt-get install mingw-w64

当我做我的项目时,Eclipse开始抱怨。它一直说Toolchain "MinGW GCC" is not detected.但是,它仍然在我的代码中发现错误。但是,没有产生关于它无法找到 g++ 或 gcc 路径的错误。所以我在谷歌上搜索,许多消息来源说我需要设置安装的 PATH 变量。但是我找不到MinGW-w64的安装路径。如何在 Ubuntu 14.04 中找到此路径应该是什么并设置需要设置的路径变量。

补充信息:

-在此路径的末尾,Window->Preferences->C/C++->Build->Settings->Discovery->CDT GCC Built-in Compiler Settings具有获取编译器规范的命令,${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"

-在此路径的末尾,Window->Preferences->C/C++->Build->Environment根本没有设置环境变量,包括PATH变量。

-在以下Project Properties->C/C++ Build下,选择两个复选标记。 ->Build Variables为空。

->Environment的值为 MINGW_HOME 作为/usrMSYS_HOME的值为空。PATH的值为 ${MINGW_HOME}/bin:${MSYS_HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

->Tool Chain Editor将复选标记设置为仅显示兼容的工具链,但它似乎对我可以在以下下拉菜单中选择的工具链没有任何影响。我当前的工具链设置为 MinGW GCC,我当前的构建器设置为 Gnu Make Builder

所以再一次,我的问题是什么给了?为什么 eclipse 看不到我安装到 Ubuntu 副本中的编译器?我如何不仅设置我的 PATH 变量,而且我还必须知道将其设置为什么,因为我不知道终端在哪里安装了 mingw-w64 的/bin 目录?

首先你需要了解 mingw 是原始 GNU 编译器的 win32 端口。所以,如果你已经在Linux上,你最好使用后者。

现在,您需要弄清楚系统的外壳是否识别它,因此请尝试在外壳中自动完成选项卡,无论是混合还是gcc,打开终端并键入min然后点击Tab。

如果 Tab 自动完成有效并且您想知道命令的位置,您可以使用 whereis [comand],shell 将返回其运行的路径。

如果什么都没有发生,那么它就不在你的路径中。

PATH主要在三个配置文件中定义:本地PATH在~/.bashrc~/.bash_profile中定义,系统PATH在/etc/environment/etc/profile中定义,但通常你不需要搞砸两个。

要在系统中查找或定位任何内容,您可以使用 find .

通常,在每个 linux 系统中,您安装的所有二进制文件最终都会/usr/bin, /bin, /usr/local/bin 或者有时在/opt但保留了那个,以防它是第三方供应商。

此时,您可以像find /usr/bin -name mingw将第一个参数作为搜索路径一样进行搜索,或者您可以使用 env 直接搜索环境变量。

如果您需要在路径中添加一些内容,我建议您在/usr/bin中创建二进制文件的符号链接(无论其位于何处),然后将该链接添加到本地 PATH,也就是说,如下所示:

ln -S /opt/file.bin /usr/bin/myBin
echo "export PATH=$PATH:/usr/bin/myBin" >> ~/.profile

通常安装 gcc eclipse 后应该会自动检测到它,但如果没有,您可以使用与上面相同的代码设置MINGW_HOME,只需省略符号链接步骤并首先设置变量,如下所示:

MINGW_HOME=/Path/found/of/mingw/or/gcc

我希望这个解释能帮助你,如果没有,请随时分享你的想法。