Amacım, Swift programımı bir komut dosyası gibi çalıştırmayı denemektir. Bütün program kendi kendine yeten ise, hoşuna çalıştırabilirsiniz:Komut satırında xcrun swift oluşturmak <unknown>: 0: hata: paylaşılan kütüphaneyi yükleyemiyorum
% xcrun swift hello.swift
hello.swift
import Cocoa
println("hello")
Ancak, bunun ötesinde bir adım gitmek istiyorum ve hızlı modülü dahil olduğu, Ben vb diğer sınıfları, funcs, içe aktarabileceğiniz
yüzden biz
public class GoodClass {
public init() {}
public func sayHello() {
println("hello")
}
}
GoodClass.swift
kullanmak istediğiniz gerçekten iyi bir sınıf var diyelim
ben artık hello.swift içine bu goodie ithal etmek istiyorum: Bu çalıştırarak <> .a, .swiftmodule lib,
import Cocoa
import GoodClass
let myGoodClass = GoodClass()
myGoodClass.sayHello()
Ben ilk .o oluşturmak: nihayet Sonra
% xcrun swiftc -emit-library -emit-object GoodClass.swift -sdk $(xcrun --show-sdk-path --sdk macosx) -module-name GoodClass
% ar rcs libGoodClass.a GoodClass.o
% xcrun swiftc -emit-module GoodClass.swift -sdk $(xcrun --show-sdk-path --sdk macosx) -module-name GoodClass
Ben (bir senaryo sanki) benim hello.swift çalıştırmak için hazırlıyorlar ediyorum:
% xcrun swift -I "./" -L "./" -lGoodClass -sdk $(xcrun --show-sdk-path --sdk macosx) hello.swift
Ama bu hata var:
< unknown >:0: error: could not load shared library 'libGoodClass'
Bu ne anlama geliyor? Neyi kaçırıyorum.
% xcrun swiftc -o hello -I "./" -L "./" -lGoodClass -sdk $(xcrun --show-sdk-path --sdk macosx) hello.swift
% ./hello
Sonra her şey mutlu olduğunu: Ben önden gidin, bağlantıyı yaparsanız/C/C++ için ne benzer bir şey derlemek. Bununla yaşayabileceğimi düşünüyorum ama yine de paylaşılan kütüphane hatasını anlamak istiyorum.