gpt4 book ai didi

c++ - 如何为包含多个代码文件夹的 c 项目创建 makefile?

转载 作者:行者123 更新时间:2023-11-28 06:20:51 25 4
gpt4 key购买 nike

这是交易。我有一个包含多个代码构建 block 的文件夹结构,但我不知道如何创建必要的 makefile 来编译项目。

我试着做了以下但没有成功:

我使用向导创建了项目,以便让 eclipse 自动创建 makefile 并正确编译。

我观察到由 eclipse 自动创建的 makefile 是在工作区文件夹中创建的,但我希望它们在我的项目文件夹中。

我做的测试基本上是复制我的文件夹结构中的所有 .mk 文件和主生成文件,就像 eclipse 在工作区中所做的一样,并使用向导中的创建空生成文件选项创建一个新项目,但是它不编译。

我不知道我还应该做什么或配置什么才能让它工作。

感谢您的帮助。

最佳答案

如评论中所述,组织构建系统的方法有很多种。我通常使用的一种简单方法如下:

  1. 有一个定义 .mk 文件的共享编译变量。

  2. 拥有一个共享的 make 文件,该文件定义了为不同类型的代码文件(例如 .c、.cpp 等)构建目标文件的规则。还在该 Makefile 中包含构建目标的规则。对于不同类型的目标(静态库、共享库、可执行文件),您可以有多种风格的 Makefile。

  3. 在每个文件夹中定义一个 make 文件,用于填充目标文件列表并定义目标名称。在此生成文件中包含生成文件 (2)。

  4. 在每个文件夹中调用子文件夹中的 Makefile。您可以为每个子文件夹构建静态库,并将它们作为依赖项包含在“主”可执行 Makefile 中。

如果您不想为步骤 3 中定义的每个文件夹/子文件夹编写 Makefile。您可以定义一个 Makefile 来构建文件夹中的每个代码文件并递归调用它。

希望对你有帮助。

关于c++ - 如何为包含多个代码文件夹的 c 项目创建 makefile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29338328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com