Xcode 在链接期间找不到静态库,即使它是引用的产品

Xcode Cannot find a Static Library During Linking even though it is a referenced product

本文关键字:引用 链接 找不到 静态 Xcode      更新时间:2023-10-16

我有两个预先存在的 Xcode 工作区。 第一,Parent.xcworkspace是iOS应用程序。 另一个SomeChild.xcworkspace是C++静态库。 SomeChild 工作区位于父工作区的 git 子模块中。

我想从 SomeChild 工作区中获取一个项目并将其添加到Parent.xcworkspace,以便在生成父工作区中的依赖项目时生成代码并静态链接。

它几乎可以工作,但在构建父工作区 iOS 应用程序时,链接器会发出

clang: error: no such file or directory: '/Users/me/Library/Developer/Xcode/DerivedData/Parent-hagqyrdsdfsdfsdfphgbsolz/Build/Products/Debug-iphonesimulator/libSomeChild.a'

确实,libSomeChild.a 不存在于以 -iphonesimulator/ 结尾的目录中

libSomeChild 确实存在于

/Users/me/Library/Developer/Xcode/DerivedData/Parent-hagqyrdsdfsdfsdfphgbsolz/Build/Products/Debug/

因此,总而言之:lib 被输出到与错误几乎相同的路径,除了没有-iphonesimulator后缀。

如何修复此版本?

编辑:

这个问题非常相似,但没有真正的答案Xcode 6.1 静态库 .a for iOS 未生成

这不是

一个完整的答案,因为我没有解决问题。 但根本原因似乎是子项目是为x86_64架构构建的,但 iOS 项目需要 arm 架构。

就我而言,将子代码文件添加到iOS目标比尝试构建子xcproj并链接到静态库更简单。