【问题标题】:Eclipse CDT (Juno) in Win7: Cannot find g++ in PATH, iostream unresolved and other fun stuffWin7 中的 Eclipse CDT (Juno):在 PATH 中找不到 g++、iostream 未解析和其他有趣的东西
【发布时间】:2026-01-14 01:05:03
【问题描述】:

我绝望地来到这里,你们是我最后的希望。

从昨天开始我就一直在标题中遇到问题,我这辈子都找不到问题所在。

由于 Eclipse 无法找到 g++ 编译器,因此无法构建简单的 hello world 程序。我设法在 Project->Properties->C++ BuildEnvironment 中找到了 PATH 变量,它设置为C:\Users\Dimitris\Documents\eclipseCPP\eclipse;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Windows Live\Shared;D:\Users\Dimitris\AppData\Local\Photran\MinGW\bin;C:\Program Files (x86)\VDownloader;E:\Program Files\VDownloader;E:\Program Files (x86)\FAHClient 显然,那里出了点问题。

对于“未解决的 iostream”问题,我尝试在 Project->Properties->C/C++ General->Paths and Symbols->Include 选项卡中设置我的包含路径,然后添加整个 MinGW 文件系统,没有利用。令人惊讶的是,添加一个 MinGW 的子树——即最级别的 iostream 被管理——使 Eclipse 可以看到 iostream,尽管程序仍然无法理解 cout 或 std。 我已经安装了 MinGW、Cygwin 和 cygnus。

正如我之前所说,该程序是一个简单的 hello world。它不会构建。

#include <iostream>
using namespace std;

int main() 
{
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
    return 0;
}

【问题讨论】:

    标签: c++ eclipse windows-7 g++ eclipse-cdt


    【解决方案1】:

    你确定你的路径中有g++.exe 吗? (我看到你的路径中有D:\Users\Dimitris\AppData\Local\Photran\MinGW\bin。那里有g++.exe 吗?)

    如果您转到命令提示符 (cmd.exe) 并输入 g++ -v enter 它会找到 gcc 并打印出版本吗?

    另一件事 - 您是如何创建项目的?

    如果您选择File -&gt; New -&gt; C++ project -&gt; Hello World,并且您的 gcc 编译器在您的路径中,那么您应该很高兴。

    这是使用上述方法创建的简单Hello world 项目的输出

    ** 构建项目 foobar 的配置调试 **

    全部搞定

    构建文件:../src/foobar.cpp

    调用:GCC C++ 编译器

    g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/foobar.d" -MT"src/foobar.d" -o "src/foobar.o" "../src/foobar.cpp"

    完成的建筑:../src/foobar.cpp

    构建目标:foobar 调用:GCC C++ 链接器 g++ -o "foobar" ./src/foobar.o

    完成的建筑目标:foobar

    ** 构建完成 **

    【讨论】: