2013-09-26 55 views
0

我使用Eclipse Kepler并在Win7 64位下运行它。作为编译器,我使用MinGW的gcc(4.8.1)。现在,我有以下问题:Eclipse不能编译* .C和gcc

//编辑:改订问题更清楚

我有一个包含一个源文件与C-代码的项目:main.c

此文件

  1. 启动编译器在命令行:gcc -o main.exe main.c
  2. 启动编译器可以通过2种方式进行编译在Eclipse中通过启动正常集结程序(其中还调用gcc

现在,由于某种原因,我想添加一些C++ - 代码,但我还是想与gcc进行编译。

gcc本身决定如何编译通过文件扩展名 - 这意味着,如果main.c包含C++代码,并且我呼叫gcc -o main.exe main.c它将无法工作。为了让编译器意识到它是C++,我必须将文件扩展名更改为.C.cpp,然后才能正常工作。

现在回到Eclipse:

当我改变我的源文件中main.C Eclipse的解释为C++文件,这意味着它改变了代码高亮。当我现在开始构建过程在Eclipse中它只是告诉我

Info: Nothing to build for PROJECT

这意味着竟然没有给gcc -compiler通话。我的猜测是,Eclipse以某种方式不想调用gcc,因为源文件被标记为C++ - File。

// EDIT2:刚才试了 - 当我有一个C++ - Projekt的Eclipse的只是忽略*.C*.cpp -files。我想我必须手动添加它们,所以它们也被构建...但是在哪里?

+0

我认为这非常接近于脱离主题,因为它更多地涉及Eclipse的一些非常具体的行为,而不是实际的编程。 – unwind

+1

@unwind,但太具体不是SO的offtopic了。 – dhein

+0

@Toby试图将adn reinclude fiel排除在项目之外? – dhein

回答

0

g++是编译C++代码的编译器。
在你的eclipse项目中改变你的编译器。

+0

你是错的。 GCC的意思是“GNU编译器集合”,并且还包含C++编译器! – dhein

+0

@Bijaya Bidari - 问题不在于编译器本身(GCC能够编译C++代码) - 我的问题是Eclipse不调用GCC,只是告诉我“没事做”,当我将它标记为C++ - 代码 – Toby

+0

@Zaibis:'gcc'命令用于编译C代码。 'g ++'命令用于编译C++代码。两者都由GCC提供。 –