C 是否有生成makefile和解决依赖关系的工具?

C 是否有生成makefile和解决依赖关系的工具?,c,makefile,C,Makefile,我有一个很大的源代码树,其中有一个带有main函数的文件,我想生成一个makefile,而不需要手动解析所有依赖项(包括目录和必要的c文件)。因此,该工具需要从主文件夹开始,在文件树上下搜索,以找到与主文件“最接近”的包含文件。Cmake将部分满足您的要求。您始终可以从一个强大的项目模板开始 我建议你看看c模板 Cmake会部分满足您的要求。您始终可以从一个强大的项目模板开始 我建议你看看c模板 有一个免费的工具HWUT,一个完成这项工作的单元测试工具 HWUT这样做是出于促进单元测试设置的

我有一个很大的源代码树,其中有一个带有main函数的文件,我想生成一个makefile,而不需要手动解析所有依赖项(包括目录和必要的c文件)。因此,该工具需要从主文件夹开始,在文件树上下搜索,以找到与主文件“最接近”的包含文件。

Cmake将部分满足您的要求。您始终可以从一个强大的项目模板开始

我建议你看看c模板


Cmake会部分满足您的要求。您始终可以从一个强大的项目模板开始

我建议你看看c模板


有一个免费的工具HWUT,一个完成这项工作的单元测试工具

HWUT这样做是出于促进单元测试设置的动机。您可以安装“ctags”(hwut将自动使用它)。否则,HWUT使用编译器的对象文件输出(速度非常慢)分析代码

一旦你安装了硬件,你就可以简单地用

> hwut sos your.c --root some/root/dir another/root/dir --args -DMyCompilerArg -DAnother Arg --
它将开始在“some/root/dir”和“other/root/dir”中搜索包含文件、源文件、目标文件和库。从“your.c”文件开始,它将搜索所有必需的引用和标题,并生成一个格式良好的Makefile。如果项目仍然太大,则可以指定根目录集以分别搜索源、包含和库

  • --根源。。。查找要在其中搜索源的根目录
  • --根目录包括。。。从何处搜索包含标题
  • --根库。。。在哪里搜索图书馆
  • --根对象。。。在何处搜索对象
顺便说一句:有一种“sols”(安全我们的laze souls)模式,它直接为模块中的所有函数生成测试文件,即

hwut sols“模块至测试c”


将不仅生成一个Makefile,还生成一组测试文件,作为编写测试的起点。

有一个免费的工具HWUT,一个单元测试工具来完成这项工作

HWUT这样做是出于促进单元测试设置的动机。您可以安装“ctags”(hwut将自动使用它)。否则,HWUT使用编译器的对象文件输出(速度非常慢)分析代码

一旦你安装了硬件,你就可以简单地用

> hwut sos your.c --root some/root/dir another/root/dir --args -DMyCompilerArg -DAnother Arg --
它将开始在“some/root/dir”和“other/root/dir”中搜索包含文件、源文件、目标文件和库。从“your.c”文件开始,它将搜索所有必需的引用和标题,并生成一个格式良好的Makefile。如果项目仍然太大,则可以指定根目录集以分别搜索源、包含和库

  • --根源。。。查找要在其中搜索源的根目录
  • --根目录包括。。。从何处搜索包含标题
  • --根库。。。在哪里搜索图书馆
  • --根对象。。。在何处搜索对象
顺便说一句:有一种“sols”(安全我们的laze souls)模式,它直接为模块中的所有函数生成测试文件,即

hwut sols“模块至测试c”


不仅会生成生成文件,还会生成一组测试文件,作为编写测试的起点。

注意,如果您已经有一个带有适当包含路径的
gcc
编译行,则可以让编译器自动生成
包含的
.h
文件的依赖项。请参阅。

注意,如果您已经有一个带有适当include路径的
gcc
编译行,则可以让编译器自动生成
包含的
.h
文件的依赖项。请参阅。

谢谢,我会看一看。谢谢,我会看一看。事实并非如此,但这仍然是一个有趣的选项。感谢事实并非如此,但这仍然是一个有趣的选择。谢谢谢谢,这真的满足了我的需要谢谢,这真的满足了我的需要