Как собрать Swift Perfect Server, используя Xcode для Ubuntu?
Итак, я понимаю, как мы можем построить его для OSX, но как нам создать идеальный сервер http в Linux? Есть ли способ, которым мы можем собрать исходный код, используя Xcode, но скомпилировать его для Ubuntu?
1 ответ
Вы не можете встроить Xcode для Linux, однако вы можете просто разработать в xCode и затем создавать исходные коды в Ubuntu. В выпуске версии 1.0 и PerfectLib, и PerfectServer содержат make-файлы. Посмотрите описание в этих ссылках. PerfectLib-1.0, PerfectServer-1.0
Однако во время разработки вам нужно будет изменить make-файлы, чтобы правильно собрать их на Linux. В некоторых случаях это может занять много времени, если у вас нет такого большого опыта работы с ними.
В качестве альтернативы вы можете получить ветку Master, которая в данный момент (25 апреля 2016 г.) построена на Swift 3.0 Snapshot 12 апреля. Без особых усилий вы можете настроить все свои зависимости, чтобы иметь PerfectServer и обработчики для сборки с Swift Package Manager в одном make
команда.
Обновление: Сборка Perfect Server в Ubuntu (28 апреля 2016 г.)
Сначала нам нужно установить набор зависимостей.
sudo apt-get install libssl-dev libevent-dev libsqlite3-dev libcurl4-openssl-dev libicu-dev uuid-dev
PerfectLib на данный момент (28 апреля 2016 г.) строится с использованием снимков Swift 3.0 25 марта и 12 апреля. Поскольку в этих выпусках есть несколько фундаментальных изменений, для каждого из них существует разная версия PerfectLib.
Если набор инструментов Swift 3.0 не установлен в вашей Ubuntu, скачайте, распакуйте и экспортируйте его в путь:
wget https://swift.org/builds/development/ubuntu1510/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a-ubuntu15.10.tar.gz
tar xvf swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a-ubuntu15.10.tar.gz
export PATH=/your/full/path/to/swift-DEVELOPMENT-SNAPSHOT-2016-04-12-a-ubuntu15.10/usr/bin/:"${PATH}"
Вы не сможете построить Perfect из коробки из master
ветвь, поэтому я внес в нее изменения, чтобы процесс сборки можно было упростить до make
, В зависимости от вашего снимка Swift 3.0 сделайте следующее:
Снимок за 25 марта:
git clone https://github.com/ambientlight/PerfectServer.git
Снимок за 12 апреля:
git clone -b swift.3.0-april https://github.com/ambientlight/PerfectServer.git
И давайте построим это:
cd PerfectServer/
make
cp .build/debug/perfectserver* ./
И, наконец, вы можете запустить либо версию perfectserverhttp, либо сервер perfectserverfcgi:
sudo ./perfectserverhttp