就在最近我安装了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
值为/usr
。 MSYS_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中,你最好使用后者。
现在,你需要弄清楚你的系统的shell是否识别它,所以尝试在shell中选项卡自动完成,打开它的mingw或gcc,打开一个终端并输入min
然后点击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
那样进行搜索,将第一个参数作为在OR中搜索的路径,你可以使用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
我希望这个解释会帮助你,如果没有,请随时分享你的想法。