CodeBlocks, GCC: change project language c and c++?

两盒软妹~` 提交于 2019-12-21 12:18:49

问题


When I select console project to start with, it lets you to select C or C++. But once its created, I can't figure out how to change it. Plus, when you create a Win32 GUI application, it doesn't give you the option at all and its default is C++.

Where can I change to C? I have been looking in all the project settings for ages. Renaming my file from .cpp to .c doesn't seem to do anything, it compiles the file as C++. I know that without the IDE, you just change your executable from g++ to gcc, but how do I set this for the current project in CodeBlocks?


回答1:


The only tangible difference between selecting C vs C++ when you create a project is which compiler is invoked for the translation units during a build. Codeblocks currently does not provide a way to directly change this after project creation. That is to say you would have to change each source file one at a time to get what you want.

Here's what you can do to change it:

  • Open the properties window for a source you want to change. You can get to it by right-click source file->properties.

  • Goto the Advanced tab.
  • Find the Compiler variable field and change it from CPP to CC.

  • Click Ok.
  • Repeat this for each source file that needs to be changed.

Now if your existing project contains a lot of source files you can do this quicker by manually editing the codeblocks cbp project file (it's just an xml file). The nodes you want to search for and replace will look something like this:

<CodeBlocks_project_file>
        //...
  <Project>
        //...
    <Unit filename="source1.cpp">
      <Option compilerVar="CPP" />  //change CPP to CC here
    </Unit>
    <Unit filename="source2.cpp">
      <Option compilerVar="CPP" />  // and here
    </Unit>
    <Unit filename="source3.cpp">
      <Option compilerVar="CPP" />  // and here then save.
    </Unit>
    //...
  </Project>
</CodeBlocks_project_file>

After the changes open your project in C::B and confirm it's being compiled as a C source file. You should see the build log invoking gcc now instead of g++.



来源:https://stackoverflow.com/questions/4695896/codeblocks-gcc-change-project-language-c-and-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!