我试图在Eclipse上安装C++编译器而不更改Path变量,因为我做不到,该机器的权限有限。 Eclipse显然运行良好,它抱怨该构建不是。

我注意到的第一件事是一个警告,警告说库文件stdio.h包含“未解决的包含”

我在Eclipse的“Windows>首选项> C / C++>环境”中添加了路径变量,并添加了一个名为“Path”的新环境变量,该路径具有一个指向我的minGW / bin文件夹的路径,但无济于事。我还尝试将其设置为“用指定的变量替换本机环境变量”,但也没有更改。

生成错误说:

****  WARNING: The "Default" Configuration may not build  ****
****  because it uses the "MinGW GCC"  ****
****  tool-chain that is unsupported on this system.  ****

然后
(Cannot run program "make": Launching failed)

当然没有了。这是一个简单的Hello World测试,因此代码不应该成为问题。我可以在Eclipse生成的“包含”区域(D:\ MinGW \ binutils \ lib)中的文件夹下看到包含,但是在Eclipse的“大纲”选项卡中单击它们会出现错误“找不到与该包含项匹配的包含文件”名称”。

最佳答案

看来您正在尝试使用Eclipse / CDT和开发环境并使用mingw作为编译器工具链来构建一个简单的hello world程序。我现在无需修改系统路径环境变量就可以使它正常工作。这是我所做的:

  • 我已经用CDT
  • 安装了Eclipse 3.5(Galileo)
  • 将MinGW安装到C:\ MinGW(我假设您已经完成此操作)。确保已安装mingw-make组件(默认情况下未安装该组件,我必须选中此复选框以安装此组件)。
  • 创建一个新的空makefile项目,添加main.c,编写hello world代码(因为您说这不是问题,所以我在这里跳过了细节),添加了一个名为“makefile”的新文件并填写。

  • 我的main.c文件的内容
        #include
        int main()
        {
            printf("Hello World!");
            return 0;
        }
    

    我的makefile的内容:
        all:
            gcc -o HelloWorld.exe main.c
    
  • 打开项目属性;在C / C++构建下,取消选中“使用默认构建命令”,然后将构建命令更改为“mingw32-make”。
  • 在“C / C++ Build / Environment”下,在路径
  • 中使用C:\ Mingw \ bin添加一个新的PATH变量。
  • 在“C / C++常规/路径和符号”下,将C:\ mingw \ include添加为包含路径。

  • 完成此操作后,我的项目成功构建并在我的项目中生成了一个HelloWorld.exe可执行文件。

    不需要将PATH变量添加到系统或项目属性,或将包含路径添加到项目属性的另一种选择是简单地将完整的路径信息提供给makefile中的命令。对于小型项目,这是可管理的。这是一个示例makefile:

    makefile的内容:
        all:
            c:\mingw\bin\gcc -o HelloWorld.exe -I c:\mingw\include main.c
    

    当然,您还必须将构建命令也从简单的“mingw32-make”更改为“C:\ mingw \ bin \ mingw32-make”。

    这种方法的另一个缺点是CDT代码解析器将无法找到包含文件,因此您将在编辑器中警告该效果。

    10-06 12:42
    查看更多