8

最近我安装了 Eclipse Indigo Service Release 2(用于 JAVA EE)并在线安装了 CDT 8。然后我安装了最新版本的带有 gcc、g++、gdb、make、binutils、automake 等的 Cygwin。我还制作了环境变量 PATH正确的。

制作一个新的 C++ 项目(使用 Cygwin GCC 工具链)很好,但是在输入 HelloWorld 程序后,它会显示很多错误和警告。

使用外部构建器时,错误显示

“无法运行程序“make”:?????????¨?”。

使用内部构建器时,附上它显示

"g++ -IC:\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\include\c++ -O0 -g3 -Wall -c -fmessage-length=0 -o src\test_cpp.o ..\src \test_cpp.cpp

错误:无法运行程序“g++”:?????????¨?

发生构建错误,构建已停止

在 Windows CMD 和 Cygwin 终端中,g++ 并使两者都能正常工作。

更何况Eclipse找不到包含库,只好在项目属性->C/C++中添加路径C:\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\include\c++建筑->设置。但在那之后,它仍然显示错误,

'std' 不明确'

'endl' 的无效重载

符号“cout”无法解析

在项目属性-> C/C++ 构建-> 发现选项中,我将发现配置文件范围设置为配置范围,将发现配置文件设置为每个文件扫描仪信息配置文件的 GCC。

4

6 回答 6

6

您必须设置 Cygwin 工具链,首先使用以下软件包安装 Cygwin:

binutils
gcc
gcc-core
gcc-g++
gcc-mingw-core
gcc-mingw-g++
make

添加%cygwin%\bin到您的 PATH 环境变量,然后打开 Eclipse,当您打开一个新的 c/cpp 项目向导时,将显示 Cygwin 工具链。

于 2012-05-06T09:33:39.223 回答
4

你试过这个C++ 的 Eclipse CDT 和 Cygwin 教程吗?

于 2012-06-03T08:43:53.327 回答
2

我有类似的错误,对我有用的如下:在设置中:'Project|Properties|C/C++ General|Indexer',我取消选中'Allow heuristic resolutions of includes'并保存了设置。重建后,我所有的错误,如 ''std' is ambiguous ...' 都消失了。

于 2012-09-24T03:56:02.930 回答
2

您是否检查过您使用的是哪个二进制解析器?

右键单击您的项目,属性,C/C++ 构建,设置,二进制解析器选项卡,如果您使用的是 Windows 操作系统,请选择 PE Windows Parser 或 Linux 操作系统的 Elf Parser。

于 2013-06-19T09:10:14.003 回答
1

给出使用 eclipse + CDT + cygwin-gcc 编写 hello world 程序的所有基本步骤。

您一定错过了从 3 到 7 的一些步骤。

  1. 使用包安装cygwin binutilsgcc-coregcc-g++和. 我之前没有安装任何包裹。所以我在安装 cygwin 后安装了这些软件包。您可以通过重新运行 cygwin 的 setup exe(此答案中的第 3 点)或按照此答案中的说明使用来安装它们: gdbmakeapt-cyg
  2. 在 eclipse 中安装CDT 插件或安装CDT eclipse
  3. 设置 windowspath环境变量以包含 cygwin bin ( C:\Program Files\cygwin\setup\bin) 和 lib ( C:\Program Files\cygwin\setup\lib) 目录路径。设置 windowsclasspath 环境变量以包含 cygwin lib 目录路径。
  4. 在 windows 命令提示符下运行 commands gccg++和以检查已安装的 cygwin 软件包是否可访问且未给出 command not found 错误。对于,和, 它应该给出输入或目标文件未找到错误。对于,它应该开始提示,您可以通过输入提示来转义。gdbmakegccg++makegdbgdbQuitgdb
  5. 开始eclipse并做File > New > C/C++ Project
  6. 选择 C/C++ 托管构建: 单击。在此处输入图像描述
    Next>
  7. 给出合适的项目名称。在工具链中选择Cygwin GCC: 它应该创建新项目并从环境变量中指定的 cygwin lib 目录中包含所需的头文件:
    在此处输入图像描述

    在此处输入图像描述
  8. 右键单击在项目资源管理器中创建的项目 > 将鼠标悬停在上下文菜单中的新建上 > 单击源文件夹。src为新的源文件夹命名。
    在此处输入图像描述
  9. 右键单击源文件夹并添加新的 C 源文件HelloWorld.c在此处输入图像描述
  10. 右键单击项目并选择构建项目。它应该创建调试文件和可执行二进制文件:
    在此处输入图像描述
  11. 右击打开的c文件,Run as > Local C/C++ Application. 它应该运行在前面步骤中生成的可执行文件。
于 2018-07-17T10:20:20.580 回答
0

我运行的 Eclipse 版本是 Photon(4.8)。我正在运行 cygwin64 版本 2.10.0(0.325/5/3)。

我创建了一个新目录 - foo - 并在其中添加了以下文件:

CMakeLists.txt:

set(CMAKE_C_FLAGS "-g -O0")
set(CMAKE_CXX_FLAGS "-g -O0 --std=c++17")
add_executable (foo main.cpp)

请注意,源代码级调试需要“-g -O0”。

主.cpp:

#include <iostream>

using namespace std;

int
main()
{
    cout << "Hello World" << endl;
    auto i = 5;
    cout << i << endl;
}

然后在 foo 目录中运行:

制作。

然后我打开了eclipse。

File->Import C/C++->Existing Code as Makefile Project

点击下一步

我将现有代码位置设置为我的 foo 目录(通过浏览它)

这会自动将我的项目名称设置为 foo(如果您愿意,可以更改它)

在“索引器设置的工具链”中,暂时设置“无”并完成。我们稍后会解决这个问题。

现在在“项目资源管理器”窗格中,右键单击“foo”并转到“属性”

转到“C/C++ 构建”

转到“工具链编辑器”

取消选中“仅显示兼容的工具链”

在“当前工具链”下拉菜单中,选择“Cygwin GCC”

点击“应用并关闭”

再次,在“项目资源管理器”窗格中,右键单击“foo”并转到“属性”

转到“C/C++ 构建”

转到“环境”

确保“CYGWIN_HOME”环境变量设置正确。默认设置是“C:\cygwin”,但这对我不利,并引起了很多问题。就我而言,它是 C:\cygwin64

点击“应用并关闭”

现在再次右键单击 foo 项目,然后单击“构建项目”

在项目窗格中的 foo 下,单击 main.cpp 以显示它。在某处设置断点。

按 F11

您应该使用之前设置的断点。

希望这可以帮助。

于 2018-09-14T12:06:59.777 回答