Skompilowałem libdispatch. Ten kod działa:Swift w systemie Linux: użycie nierozwiązanego identyfikatora "dispatch_async"
import Dispatch
var lockQueue = dispatch_queue_create("com.test.async", nil);
Ale jeśli mogę umieścić ten kod do końca pliku:
dispatch_async(lockQueue) {
print("test1");
}
mam błąd: to wydaje się
use of unresolved identifier 'dispatch_async'
Jaka jest mapa modułu, za pomocą której pobierasz bibliotekę libdispatch do Swift? Czy używasz menedżera pakietów? –
Używam oficjalnego modułu: https://github.com/apple/swift-corelibs-libdispatch yes, działa pierwszy blok kodu. działa "import Dispatch" i "dispatch_queue_create". – zig1375
Brzmi to w związku z tym problemem: https://bugs.swift.org/browse/SR-397, gdzie każda funkcja wywoływania funkcji libdispatch blokuje potrzeby. Wygląda na to, że menedżer pakietów Swift musi obsługiwać niestandardowe flagi kompilatorów dla modułów, aby to działało. –