gpt4 book ai didi

iphone - 公共(public) header 路径、安装目录、搜索 header 路径和其他噩梦

转载 作者:行者123 更新时间:2023-11-29 03:59:13 28 4
gpt4 key购买 nike

我有一个由 2 个库(libraryA 和 libraryB)和一个包组成的项目。其中每一个都像项目一样创建,并通过拖动它们导入到主项目中。

仅拖动它们不足以让 Xcode 找到所有 header 来编译整个项目,因此我不得不使用硬路径来破解路径,但这很糟糕,因为路径可以更改,我将无法再次编译该项目。我想使用像 these ones 这样的宏访问这些文件,但在测试了几乎所有文件后,我无法使其工作。

我必须使编译工作的解决方案如下。

我已经调整了每个库,使其公共(public) header 保存在内部

/Users/rubberduck/Library/Developer/Xcode/DerivedData/MyProject-dnaimaovsccuvieahmvgttwjnabc/Build/Products/Debug-iphoneos/

使用目标名称,因此在编译后,它们会将公共(public) header 放在

/Users/rubberduck/Library/Developer/Xcode/DerivedData/MyProject-dnaimaovsccuvieahmvgttwjnabc/Build/Products/Debug-iphoneos/libraryA

/Users/rubberduck/Library/Developer/Xcode/DerivedData/MyProject-dnaimaovsccuvieahmvgttwjnabc/Build/Products/Debug-iphoneos/libraryB

现在的问题是libraryB需要libraryA的头文件来编译。如果这些是同级目录,我应该在libraryB 的 header 搜索路径上放置什么以指向libraryA 的。

注意:我需要一个不是硬编码的路径,而是使用我提到的宏之一。

最佳答案

Apple 似乎已经放弃将公共(public) header 路径作为静态库包含的首选机制,可能是由于这些类型的复杂性。如果您创建一个新的静态库项目,它将有一个“复制文件”构建阶段,其中头文件被复制到 "Products Directory" 中。子路径 "include/${PRODUCT_NAME}" .

导入 header 时,不要使用 #import "header1.h"您将使用#import <MyProduct/header1.h> .我相信在编译之前需要构建库,但如果它们包含在“将二进制文件与库链接”阶段中,这就不应该成为问题。

关于iphone - 公共(public) header 路径、安装目录、搜索 header 路径和其他噩梦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16096601/

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