【问题标题】:How to build Swift Perfect Server using Xcode for Ubuntu?如何使用 Xcode for Ubuntu 构建 Swift Perfect Server?
【发布时间】:2016-03-25 23:04:55
【问题描述】:

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

【问题讨论】:

    标签: xcode swift ubuntu perfect


    【解决方案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 分支中提取。不费吹灰之力,您就可以在单个 make 命令中设置所有依赖项以使用 Swift 包管理器构建 PerfectServer 和处理程序。

    更新:在 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,因此我对其进行了修改,以便将构建过程简化为单个 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多