libswiftDemangle.so unter Linux

8

Beim Kompilieren von Swift auf einem Mac-Computer wird eine dynamische Bibliothek libswiftDemangle.dylib erstellt. Ich brauche auch die dynamische Bibliothek, die auf einem Linux-Rechner erstellt wurde. Die dynamische Bibliothek wird jedoch nicht nach der Kompilierung eines Quellcodes erstellt.

Die Datei CMakeLists.txt at lib/SwiftDemangle/CMakeLists.txt enthält:

%Vor%

Direktive, jedoch wird die Bibliothek nicht erstellt.

Ich benutze diesen Befehl ./swift/utils/build-script -R -c --build-subdir build --install-prefix /mnt/servers/swift/install -j4 , um das Projekt zu erstellen, eventuell wird cmake und ninja ausgeführt, um das Projekt zu erstellen.

Irgendwelche Ideen?

    
agoldis 31.05.2016, 09:04
quelle

1 Antwort

2

Ich kann erklären, warum die Bibliothek nicht auf Linux gebaut wird, selbst wenn es wahrscheinlich zu spät ist.
Das Hauptunterverzeichnis mit der von Ihnen angegebenen Bibliothek lautet:

%Vor%

Um die libs in diesem Verzeichnis zu erstellen, die in Unterverzeichnissen organisiert sind, wird das folgende CMakeLists.txt verwendet:

https://github.com/apple/swift/blob/master/lib/CMakeLists.txt .

Wie in dieser Datei deutlich zu sehen ist, wird die von Ihnen erwähnte Bibliothek nur erstellt, wenn das System OSX / Darwin ist und nicht im Linux-Fall. Der entsprechende Code in der oben genannten CMakeLists.txt ist:

%Vor%

Wie Sie es sehen können,

%Vor%

verhindert, dass SwiftDemangle auf Linux erstellt wird.
Eine oberflächliche Doppelprüfung kann man sich ansehen:

%Vor%

, die nur *.dylib Dateien installiert oder simlynk.
Es ist erwähnenswert, dass das Tool swift-demangle (anders als das, was Sie gefragt haben)

%Vor%

basiert auf Linux.

    
fedepad 07.01.2017, 13:40
quelle