ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

57、C/C++项目构建:依赖管理、自动化及常见问题处理

57、C/C++项目构建:依赖管理、自动化及常见问题处理

C/C++项目构建:依赖管理、自动化及常见问题处理

1. 生成源文件的处理

在C/C++项目中,对于生成的源文件,如generated.h,可以使用以下代码来处理:

bin_PROGRAMS = program program_SOURCES = program.c program.h nodist_program_SOURCES = generated.h BUILT_SOURCES = generated.h CLEANFILES = generated.h generated.h: Makefile echo "#define generated 1" > $@

nodist_program_SOURCES变量确保 Automake 不会生成尝试分发该文件的规则,我们希望最终用户运行make时构建它,而不是将其包含在分发包中。然而,Automake 生成的 makefile 在没有用户提示的情况下,无法知道在编译program.c之前应执行generated.h的规则。BUILT_SOURCES只是强制生成所列文件的规则首先执行,并且仅在用户执行make allmake check目标时执行。如果直接尝试生成program目标,使用BUILT_SOURC

返回列表