首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu上快速构建:处理对象文件名中的空白

在Ubuntu上快速构建:处理对象文件名中的空白
EN

Stack Overflow用户
提问于 2019-02-16 12:21:15
回答 1查看 114关注 0票数 1

我正试图在Ubuntu18.04上构建一个快速应用程序。这是一个水蒸气应用程序,有以下Package.swift

代码语言:javascript
复制
// swift-tools-version:4.0
import PackageDescription

let package = Package(
    name: "Project",
    dependencies: [
        .package(url: "https://github.com/vapor/vapor.git", from: "3.0.0"),
        .package(url: "https://github.com/vapor/fluent-sqlite.git", from: "3.0.0"),
        .package(url: "https://github.com/vapor-community/vapor-ext.git", from: "0.3.0"),
        .package(url: "https://github.com/attaswift/BigInt.git", from: "3.1.0")
    ],
    targets: [
        .target(name: "App", dependencies: ["FluentSQLite", "Vapor", "ServiceExt", "BigInt"]),
        .target(name: "Run", dependencies: ["App"]),
        .testTarget(name: "AppTests", dependencies: ["App"])
    ]
)

现在,我正在调用swift build:获取包工作,编译工作,但是在以下许多错误消息中链接结果:

代码语言:javascript
复制
clang: error: no such file or directory: '/home/ubuntu/project/.build/x86_64-unknown-linux/debug/BigInt.build/Words'
clang: error: no such file or directory: 'and'
clang: error: no such file or directory: 'Bits.swift.o'

我正在使用这个BigInt包,不幸的是,它在文件名中有一些空格,例如Words and Bits.swift。这会导致文件.build/x86_64-unknown-linux/debug/BigInt.build/Words and Bits.swift.o,但是Linux上的快速编译器似乎不允许在这些文件名中使用空格。

现在,我可以分叉存储库并更改所有文件名。但也许还有另外一个更容易解决这个问题的办法?

额外的困惑:我试图在一个码头容器(码头文件)中做同样的工作。似乎他们正在使用clang-3.8而不是默认clang-6,这可能是问题所在?!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-16 19:00:32

我没有找到一个直接的解决方案,而是一个让它发挥作用的方法。也许它能帮助那些有同样问题的人:

确保使用Swift版本4.2.2 (而不是4.2.0)。不知怎么的,他们显然解决了这些版本之间的这个问题。‍♂️

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54723017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档