2

所以我了解我们如何为 OSX 构建它,但是我们如何在 Linux 上构建完美的服务器 http 呢?有没有办法我们可以使用 Xcode 构建源代码,但让它为 Ubuntu 编译?

4

1 回答 1

4

您不能在 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
于 2016-04-25T06:37:24.320 回答