簡體   English   中英

如何在ARM(Raspberry Pi)上運行swift和libDispatch

[英]How to run swift and libDispatch on ARM (Raspberry Pi)

目的是在Raspberry Pi 3上運行swift和libDispatch。我正在使用Ubuntu Core 16.04

我在的位置:我試圖編譯SR-397( https://bugs.swift.org/browse/SR-397 )-這是一個最小的Swift libDispatch示例。 此SR的項目在此處: https//github.com/sheffler/gcd4和此處: https//github.com/sheffler/CDispatch

當我嘗試編譯gcd4項目時,出現以下錯誤:“錯誤:不再支持空清單文件。 使用swift package init到自動生成,”我認為該錯誤信息是由於空Package.swift文件,所以后來我復制了Sheffler CDispatch項目https://github.com/tree700/CDispatch並增加了一個Package.swift文件。 我仍然遇到相同的錯誤,但無法克服它。

作為背景,我正在使用從https://github.com/uraimo/buildSwiftOnARM進行的Swift 3.1.1的預編譯下載,並在我的系統上安裝了Ubuntu libdispatch0和libdispatch-dev軟件包以及相關性。 swift編譯器和Swift Package Manager運行正常,

我很樂意繼續這項工作,我在OS X上使用Dispatch,這使並發變得輕而易舉。 謝謝

答案很簡單……所需的額外信息在相關的博客中。 要獲取並安裝Swift 3.1.1,請訪問https://www.uraimo.com/2017/09/06/A-small-update-on-Swift-for-raspberry-pi-zero-1-2-3/哪個說要這樣做...

sudo apt-get install git cmake ninja-build clang-3.8 python uuid-dev libicu-dev icu-devtools libbsd-dev libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config libblocksruntime-dev libcurl4-openssl-dev autoconf libtool systemtap-sdt-dev

sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 100
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 100

之后,有一個通常的過程:解壓縮壓縮的項目文件,然后將usr / bin目錄添加到自己的路徑中(或從usr / bin內部運行swift,swift等)

注意:我還必須安裝軟件包libpthread-workqueue-dev。 如果在Raspbian上運行,則需要升級到Stretch。

---順便說一句,我在使用Raspberry 3時發布了SO問題。實際上,當我開始使用此模型時,我正在使用早期的Pi模型B。 Pi 3即將推出Swift。 這是一個測試libdispatch的簡單Swift程序:

import Foundation
import Dispatch

let queue = DispatchQueue(label: "queueName")
let workItem = DispatchWorkItem(qos: .userInitiated, flags: .assignCurrentContext) {
   print("Hello")
}
queue.async(execute: workItem)

DispatchQueue.main.async {
   print("Hello2")
}

dispatchMain()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM