所以我了解我们如何为 OSX 构建它,但是我们如何在 Linux 上构建完美的服务器 http 呢?有没有办法我们可以使用 Xcode 构建源代码,但让它为 Ubuntu 编译?
1 回答
您不能在 Xcode for Linux 中构建,但是您可以在 xCode 中开发,然后在 Ubuntu 上构建源代码。在 release-1.0 brunch 中,PerfectLib 和 PerfectServer 都包含 makefile。看看这些链接中的描述。PerfectLib-1.0 , PerfectServer-1.0
但是,在开发过程中,您需要修改 makefile 才能在 linux 上正确构建它。如果您对它们没有太多经验,在某些情况下这可能会很耗时。
作为替代方案,您可以从目前(2016 年 4 月 25 日)针对 Swift 3.0 April 12 Snapshot 构建的 Master 分支中提取。您可以毫不费力地设置所有依赖项,让 PerfectServer 和处理程序在单个make
命令中使用 Swift 包管理器构建。
更新:在 Ubuntu 上构建完美服务器(2016 年 4 月 28 日)
我们首先需要安装一组依赖项。
sudo apt-get install libssl-dev libevent-dev libsqlite3-dev libcurl4-openssl-dev libicu-dev uuid-dev
PerfectLib 目前(2016 年 4 月 28 日)针对 Swift 3.0 3 月 25 日和 4 月 12 日的快照构建。由于这些版本几乎没有根本变化,因此每个版本都有不同的 PerfectLib 版本。
如果您的 ubuntu 上未安装 Swift 3.0 工具链,请下载、解压并将其导出到路径:
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}"
您将无法从master
分支开箱即用地构建 Perfect,因此我对其进行了修改,以便将构建过程简化为 single make
。根据您的 Swift 3.0 快照,执行以下操作:
对于 3 月 25 日的快照:
git clone https://github.com/ambientlight/PerfectServer.git
对于 4 月 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