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

时间:2016-06-10 03:19:39

标签: c++ ios xcode build clang

我有两个预先存在的Xcode工作区。一,Parent.xcworkspace是一个iOS应用程序。另一个SomeChild.xcworkspace是一个C ++静态库。 SomeChild工作区位于Parent工作区的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/

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

如何修复此版本?

编辑:

这个问题非常相似,但并没有真正得到答案 Xcode 6.1 static library .a for iOS not generated

1 个答案:

答案 0 :(得分:0)

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

在我的情况下,将子代码文件添加到iOS目标更简单,而不是尝试构建子xcproj并链接到静态库。