Oto moja konfiguracja:Swift aplikacja: „Brak wymaganego modułu” podczas importowania ramy, które importuje bibliotekę statycznych
- statyczna biblioteka Celu kodu C nazywa
Stat
. - Środowisko Swift, które używa kodu z
Stat
w swoich własnych klasach (ta struktura nazywa sięDyn
). Biblioteka statyczna i ta struktura są w tym samym projekcie Xcode. - Aplikacja/projekt Mac, który ma powyższy projekt jako podprojekt i który łączy się z
Dyn
.
W moim app mam kod jak:
import Cocoa
import Dyn
...
SomeDynClass().doSomething()
jednak, gdy próbuję skompilować otrzymuję komunikat o błędzie, kiedy import Dyn
. Błąd jest
error: missing required module ‘Stat'
Wydaje moja aplikacja może znaleźć swoje ramy dobrze, ale jakoś musi znaleźć moduł do mojej biblioteki statycznych też?
Stat
posiada plik modułu, który jest dość prosty:
module Stat {
header "Stat.h"
export *
}
Chyba muszę wskazać ścieżki wyszukiwania ramy mojego Mac App pod adresem Stat
ale nie wiem dlaczego i nie wiem jak to zrobić. Jak rozwiązać ten problem?
znam jej więcej niż rok, ale czy znalazłeś rozwiązanie? Teraz mam podobny problem z OpenSSL. Zbudowałem własne pliki .a libcrypto i libssl i utworzyłem dla nich moduł module.modulemap (nazwa modułu: COpenSSL). Mogę użyć tego w moim szybkim środowisku (również testy działają), ale kiedy używam tego szkieletu w aplikacji, otrzymuję: Brakujący wymagany moduł: COpenSSL – leizeQ
@leizeQ Czy próbowałeś także połączyć się z 'COpenSSL' w swojej aplikacji? Nie jestem pewien, czy to zadziała, ale warto spróbować! – jbrennan
@jbrennan W moim przypadku zarówno Stat jak i Dyn są szybkie. Założę się, że mogę teraz budować przy użyciu XCODE 9.1 (obsługa szybkiej statycznej biblioteki lib). Pytanie, gdzie umieścić mapę modułu dla statystyk i co powinno znajdować się w pliku modulemap? – harshit2811