gpt4 book ai didi

iPhone - 静态库, "Copy Headers"的用途?

转载 作者:行者123 更新时间:2023-12-03 18:46:24 26 4
gpt4 key购买 nike

我正在创建一个库,尽管它通过打包所有代码并将所有头文件放入一个文件夹中然后压缩文件夹和静态库来工作得非常好,但我只是无法弄清楚它的目的构建阶段下的“复制 header ”部分。

我已阅读所有这些链接:

Using open source static libraries

Creating static libraries for iOS

How to create universal static libraries

Stackoverflow: copy headers: public vs private vs project

但我仍然没有看到设置复制头的意义,我意识到您可以在build设置>打包下设置私有(private)和公共(public)路径,并且头文件将在构建后转到该文件夹​​。但这有什么意义呢?这与不设置单个副本头文件,然后简单地获取 .a 文件,获取所有头文件并将它们放在一个文件夹中有什么不同吗?另外,设置复制项目标题的目的是什么?因为它们根本不包含在目标中?

最佳答案

据我所知,将 header 添加到“复制 header ”阶段的“公共(public)”部分与将 header 复制到发布文件夹中完全相同。

我使用它是为了方便,因为我使用运行脚本自动化库打包过程(感谢 this StackOverflow question 如果您想提供通用库,您应该阅读它)。

通过这样做,我只需将新的公共(public) header 添加到“复制 header ”阶段的“公共(public)”部分,即可使用脚本的这一部分将它们自动部署到我的发布文件夹中:

#########
#
# Added: StackOverflow suggestion to also copy "include" files
# (untested, but should work OK)
#
if [ -d "${CURRENTCONFIG_DEVICE_DIR}/usr/local/include" ]
then
mkdir -p "${CREATING_UNIVERSAL_DIR}/headers"
# * needs to be outside the double quotes?
cp "${CURRENTCONFIG_DEVICE_DIR}/usr/local/include/"* "${CREATING_UNIVERSAL_DIR}/headers"
fi

我还注意到,在归档(产品 -> 归档)时,这些 header 会被复制到包中,因此也许这是 Apple 提供一种干净的方式来构建静态库的第一步。

希望这有帮助

关于iPhone - 静态库, "Copy Headers"的用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889554/

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