【问题标题】:Is it possible to use an existing Makefile to build a project in Code::Blocks?是否可以使用现有的 Makefile 在 Code::Blocks 中构建项目?
【发布时间】:2011-01-21 00:19:36
【问题描述】:

编辑:我发现项目属性中有一个选项可以设置自定义生成文件。现在项目构建良好。现在,当我单击“运行”时,我偶然发现了如何指定要运行的目标可执行文件。

【问题讨论】:

  • 所以您希望 CodeBlocks 使用您已经构建的 makefile?
  • @Martin 是的,有没有办法做到这一点?
  • @KeizerHarm 如果您想要演练,您需要告诉我们它在什么操作系统上工作。
  • @MikeKinghan Windows 10。事后看来,我想我应该提出一个新问题。
  • 尝试阅读本指南,希望对您有所帮助:http://wiki.codeblocks.org/index.php/Code::Blocks_and_Makefiles

标签: c++ makefile codeblocks


【解决方案1】:

Code::BlocksIDE(一个能够运行其他工具的编辑器的流行语,包括调试器和编译器,可能还有一些构建自动化工具),而不是 compiler(如 GCC 是)或 @ 987654325@ 工具(如makeninja 等...都是)。

您不必使用 Code::Blocks 来处理您的 C 项目。您可以将任何其他 source code editor(我推荐 GNU emacs,但我们自己选择)与其他工​​具(编译器、链接器、构建自动化工具)一起使用,您可以轻松选择。

但如果您确实使用 Code::Blocks,请务必阅读其user manual。显然,它足够灵活,可以根据您的需要进行配置。

您可能可以配置 Code::Blocks 来指定项目的可执行文件。您可能希望对其进行配置,以便“构建”意味着“运行make”。由于 Code::Blocks 是 free software,如果无法进行该配置,您可以修补和改进 Code::Blocks(使用 Code::Blocks 的源代码!)以添加该功能。由于 Code::Blocks 可能有插件,您可以编写自己的插件来添加新功能。

我的建议,如果您发现必须修补 Code::Blocks 的源代码以添加一些缺失的功能:切换到另一个编辑器;使用emacs 配置正在运行的内容等...在我的.emacs 中只需几行即可;您可以在阅读documentation of make 后编写自己的Makefile 并通过在终端中运行make 来构建您的程序;您可能可以配置您的 IDE 或源代码编辑器来为您运行 make 命令。当然,您也可以在终端中运行您的gdb debugger 和您的程序....

当然,您必须正确配置您的操作系统,以便make 在终端中工作。这可能涉及正确设置您的PATH variable(甚至可能在您的系统上安装GNU make)。如何做到这一点是一个不同的(和特定于操作系统的)问题(与 Code::Blocks 无关)。

养成阅读您使用的任何软件工具的文档的习惯。

【讨论】:

  • 此时,我无法访问 Code::Blocks 网站。所以我找不到如何配置它。但是你可以(一旦网站正常运行),如果缺少该功能,你当然可以修补它
  • 感谢您的回答,但它似乎不是很具体到 Code::Blocks。我将不胜感激一步一步的教程,或类似的东西。我只想完成我的家庭作业,这特别需要使用 Makefile 来启动它。
  • 因此,您不需要使用 Code::Blocks,但需要提供Makefile。你读过documentation of make。不要使用 Code::Blocks(或仅将其用作源代码编辑器)。通过运行make 在终端中编译
  • 将我的emacs 配置为使用make 编译是真的简单
  • @KeizerHarm:您使用的是什么操作系统、什么 IDE 或源代码编辑器、什么编译器、什么调试器?显然你不必使用 Code::Blocks,那么如果它不适合你为什么要使用它呢?为什么不通过在终端中输入make 来编译(显然你需要这样做)?
【解决方案2】:

在 [Project -> Properties... -> Build targets -> Output filename] 你可以指定可执行文件。

[Project -> Set programs' arguments...] 允许选择宿主应用程序和命令行参数。

【讨论】:

  • 这不能回答问题。我不明白它是如何获得 2 票的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-24
  • 1970-01-01
  • 2019-09-29
  • 1970-01-01
相关资源
最近更新 更多