2016-06-10 10 views
0

Ich verfüge über zwei bereits vorhandene Xcode-Arbeitsbereiche. One, Parent.xcworkspace ist eine iOS-Anwendung. Die andere SomeChild.xcworkspace ist eine statische C++ - Bibliothek. Der SomeChild-Arbeitsbereich befindet sich in einem Git-Submodul des übergeordneten Arbeitsbereiches.Xcode Während der Verknüpfung kann keine statische Bibliothek gefunden werden, obwohl es sich um ein referenziertes Produkt handelt.

Ich möchte ein Projekt aus dem SomeChild-Arbeitsbereich nehmen und es der Parent.xcworkspace hinzufügen, so dass der Code erstellt und statisch verknüpft wird, wenn abhängige Projekte im übergeordneten Arbeitsbereich erstellt werden.

Es funktioniert fast, aber beim Linken, wenn Sie den Arbeitsbereich Geordnetes Aufbau iOS Anwendung der Linker

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

mit -iphonesimulator/

libSomeChild Es ist wahr, libSomeChild.a existiert nicht in dem Verzeichnis endet emittiert hat existieren in

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

So in der Zusammenfassung: Der lib wird outpu t zu einem Pfad, der fast der gleiche wie im Fehler ist, außer ohne das -iphonesimulator Suffix.

Wie kann ich diesen Build reparieren?

Edit:

Diese Frage ist sehr ähnlich, aber haben nicht wirklich eine Antwort Xcode 6.1 static library .a for iOS not generated

Antwort

0

Dies ist keine vollständige Antwort ist, weil ich nicht das Problem lösen hat. Die Ursache scheint jedoch darin zu liegen, dass das Child-Projekt für x86_64-Architekturen erstellt wird, das iOS-Projekt jedoch die Arm-Architekturen benötigt.

In meinem Fall war es einfacher, die Child-Code-Dateien zum iOS-Ziel hinzuzufügen, anstatt zu versuchen, den untergeordneten xcproj zu erstellen und mit der statischen Bibliothek zu verknüpfen.