gcc Mingw把我的c代码编译成c++,我该如何防止这种情况呢?

mu0hgdu0  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(167)

当在Mingw(gcc)中创建一个新的C-Win32项目时,我不小心将一个cpp文件作为源文件添加到了其他C文件中。
现在Mingw把我的c代码编译成c++。我通过测试发现__cplusplus返回true。
我已经查看了我的代码块IDE中的所有项目设置,并将其与其他以C语言编译的项目进行了比较。
我如何告诉Codeblocks/Mingw/GCC将其编译为C源代码并关闭__cplusplus?

3ks5zfa0

3ks5zfa01#

首先将文件的扩展名从.cpp更改为.c。为此,请执行以下操作:

  • 关闭Code::Blocks编辑器中的file.cpp(如果它已打开)。
  • 右键单击项目名称-〉树视图中的file.cpp
  • 从菜单中选择**重命名文件...**并将其命名为file.c

这应该是对Code::Block的一个足够的提示,您希望文件用C编译器而不是C编译器编译,* 但它不是 *。当您将file.cpp添加到项目中时,C::B将其注册为用C编译器编译,即使您将文件重命名为file.c,它也会坚持这样做。
要使它改变主意,你还必须这样做:

  • 将文件重命名为file.c后,在项目树视图中再次右键单击该文件,这次选择Properties...
  • 属性对话框中,单击高级选项卡。
  • 编译器变量的值从CPP更改为CC,然后按OK退出。

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

相关问题