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:
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?
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:
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:
Wie Sie es sehen können,
%Vor% verhindert, dass SwiftDemangle
auf Linux erstellt wird.
Eine oberflächliche Doppelprüfung kann man sich ansehen:
, die nur *.dylib
Dateien installiert oder simlynk.
Es ist erwähnenswert, dass das Tool swift-demangle
(anders als das, was Sie gefragt haben)
basiert auf Linux.
Tags und Links compilation swift cmake ninja demangler