gpt4 book ai didi

gnu - Make distcheck 不会复制所有来源

转载 作者:行者123 更新时间:2023-12-02 08:42:58 26 4
gpt4 key购买 nike

我的项目结构如下:

/ 子目录 1 子目录 2 子目录 3 common_include

每个子目录为我的项目编译不同的二进制文件和库。common_include 包含我所有子目录包含的 .h(C++ header )。

这些头文件不会添加到每个 Makefile.am 的 SOURCES 属性中。但是我将以下路径 -I../common_include 添加到 CPPFLAGS 属性

我使用 GNU 构建系统进行配置。一切正常。

但是当我想通过键入 make distcheck 来发布项目以创建:my-project-1.0.tar.gz 时,存档已成功创建。

但它包含所有子目录而不是 common_include 目录。所以最终用户无法编译..

有什么帮助吗?

谢谢

最佳答案

听起来你有一个层次结构的 Makefile.am 文件,每个目录一个。解决此问题的一个简单方法是在整个项目的顶层编辑 Makefile.am 并向其中添加:

EXTRA_DIST = common_include/header.h common_include/other-header.h # ...

等等,列出所有标题。 EXTRA_DIST 被 Automake 用来命名应该包含在发行版中的其他文件,即使它们没有被 Automake 知道的任何其他规则引用,并且是用于解决此类问题的良好通用机制。

关于gnu - Make distcheck 不会复制所有来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14964811/

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