Mingw将我的c代码编译为c ++。我该如何预防呢?

时间:2016-03-24 18:36:56

标签: gcc compilation mingw codeblocks options

在Mingw(gcc)中创建一个新的C-Win32项目时,我不小心将一个cpp文件作为一个源文件添加到其他C文件中。

现在Mingw将我的c代码编译为c ++。我通过测试发现__cplusplus返回true。

我查看了Codeblock IDE中的所有项目设置,然后将其与其他编译为C的项目进行比较。

如何告诉Codeblocks / Mingw / GCC将其编译为C源并关闭__cplusplus?

1 个答案:

答案 0 :(得分:0)

首先将文件的扩展名从.cpp更改为.c。要做到这一点:

  • 在Code :: Blocks编辑器中关闭file.cpp,如果它已打开。

  • 右键点击项目名称中的file.cpp - >的来源 树视图。

  • 从菜单中选择重命名文件... 并将其命名为file.c

这应该是你想要的Code :: Blocks的充分提示 使用C编译器而不是C ++编译器编译的文件,但它不是。 将file.cpp添加到项目时,C :: B会将其注册以进行编译 使用C ++编译器,即使重命名文件,它仍然坚持使用它 到file.c

要改变主意,你还必须这样做:

  • 将文件重命名为file.c后,再次在项目树视图中右键单击该文件 这次选择属性...

  • 属性对话框中,点击高级标签。

  • 编译器变量的值从CPP更改为CC,然后确定。

现在该文件将使用C编译器进行编译。