【问题标题】:How to compile and run a C file in CodeBlocks which is outside a project?如何在项目外的 CodeBlocks 中编译和运行 C 文件?
【发布时间】:2026-01-14 11:00:02
【问题描述】:

我在 CodeBlocks 中打开了一个项目,该项目成功构建并运行。现在,如果我在 IDE 中打开另一个 C 文件,构建和运行命令将作用于现有打开的项目,而不是作用于新的 C 文件。如果有多个项目,我们可以使用“激活项目”在它们之间切换。但是,如果有一个活动项目和项目外的另一个 C 文件怎么办。那么如何编译运行C文件呢?

【问题讨论】:

  • 你可以借助一个小技巧
  • 您的问题可能是“如何配置 CodeBlock 以使其在我当前项目之外编译单个 C 文件”,但这是一个非常不同的问题。
  • 我有一个额外的项目“quick_test”(带有一个源文件),我可以打开它并粘贴我想要测试的代码。然后切换回主项目。

标签: c codeblocks projects


【解决方案1】:
  1. 在左侧的Projects 选项卡下,右键单击您的项目并单击Close project。对所有打开的项目执行此操作。

  2. 现在,如果您的 C 文件已打开,只需按 F9 即可编译并运行您的程序。

在 Code::Blocks 中编译和运行单个 C 文件很容易:

  1. 要创建文件,请单击File -> New -> Empty file
  2. 输入代码后,以.c 扩展名保存。
  3. F9编译并运行程序。

【讨论】:

    【解决方案2】:

    Code::Blocks 不是编译器,而是 IDE。

    如何在项目外的 CodeBlocks 中编译和运行 C 文件?

    它运行编译命令,可能使用GCC(但也要考虑Clang)。它是编译你的代码的编译器(不是 CodeBlock)。

    所以你不用 CodeBlocks 编译。

    (顺便说一句,在您的系统上删除 gcc,CodeBlocks 变得无法从 C 代码构建任何程序 - 无论是在项目中还是在单个文件中)

    要将foo.c 编译成某个程序fooprog,你想运行类似的东西

    gcc -Wall -Wextra -g foo.c -o fooprog
    

    您可能需要gcc 的其他参数(例如,一些-I-D 用于预处理,一些-L-l 用于链接库)。他们的顺序很重要。阅读关于invoking GCC 的章节。 -Wall -Wextra 要求提供所有警告以及更多警告。 -g 要求提供调试信息。 -o fooprog 需要输出可执行文件fooprog...详细信息可能因操作系统而异。

    您可以在终端中运行 gcc 命令。也许可以将 CodeBlock 配置为以某种方式运行它(这是一个非常不同的问题)。

    您还可以了解有关build automation 的更多信息。考虑GNU makeninja 等...您的Makefile 可能会构建几个 可执行文件(使用简单的make 命令,您可以配置IDE 或编辑器来运行它)。

    请注意,许多free software 项目(githubsourceforge 等...)不需要任何特定的 IDE(但使用一些构建自动化软件构建)。这可能会在你脑海中敲响警钟。好的source code editors(例如emacsvim)能够运行构建命令(与IDE 一样好,而且更普遍)。也许你应该考虑使用它们。

    【讨论】:

    • 这是一个关于 codeblock 而不是 gcc 及其标志的明确问题。
    • 但是你不用 CodeBlock 编译,因为它不是编译器;例如尝试删除 gcc 并且 CodeBlock 变得无用
    【解决方案3】:

    如果文件不是项目的一部分,我怀疑你可以用任何 IDE 编译它。您可能需要手动编译它或为其创建一个项目。

    创建 IDE 是为了管理整个项目,而不是单个文件。

    【讨论】:

    • 当然,对于单个文件,它们也已创建。否则你不能使用/创建单个文件,而你可以
    • If the file is not part of a project, I doubt you could compile 好吧,CB 就是这么做的。
    【解决方案4】:

    有一点小技巧就可以了。

    关注我的测试版:

    1. 创建一个新项目
    2. 打开该项目,然后运行它。它当然有效
    3. 打开你的单个文件,此时,codeblock 涉及活动项目,如果你切换到你的单个文件并按:Ctrl + F9 它仍然会构建你的项目,不是你的单个文件
    4. 关闭所有项目在菜单中:file
    5. 关闭所有文件在菜单file
    6. 重新打开您的项目和单个文件

    现在你的项目命中:

    • Ctrl + F9 构建
    • 然后Ctrl + F10 运行它将运行(= 或F9 两者)

    也可以在您的单个文件上尝试此操作,然后您的单个文件也将运行。


    已在 Code::Blocks 16.04 上测试过; 32位; Ubuntu

    【讨论】:

    • 不适用于 windows 10 ,如果有一个活动项目和另一个打开的文件,在打开单个文件时按 F9 仍会构建并运行该项目。除非我关闭所有项目,否则独立文件不会编译和运行。
    • @asdf。您应该在创建它们后关闭所有文件和项目并再次重新打开它们。我这样做了很多次
    • @asdf 看我的回答。
    最近更新 更多