如何指定输出可执行文件的名称?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何指定输出可执行文件的名称?相关的知识,希望对你有一定的参考价值。

默认情况下,SPM使用与包含其main.swift的模块文件夹相同的名称(大写)构建可执行目标。如何使用不同的文件名构建二进制文件?我找不到关于SPM manual的任何说明。

答案

使用Swift 4,给定使用swift package init --type executable创建的DemoProject,对Package.swift进行更改(添加products部分)。

// swift-tools-version:4.0
import PackageDescription

let package = Package(
    name: "DemoProject",
    products: [
        .executable(name: "demo", targets: ["DemoProject"]),
    ],
    dependencies: [],
    targets: [
        .target(
            name: "DemoProject",
            dependencies: []),
    ]
)

这将创建一个名为demo的可执行文件。

另一答案

我赞成在make之上使用另一个构建系统,例如swift build。目前,swift build不允许定义自定义“钩子”来实现各种构建自动化任务 - 生成代码,复制资源,部署可执行文件等。一旦使用make,您可以定义您想要的任何任务,特别是重命名二进制文件。

以上是关于如何指定输出可执行文件的名称?的主要内容,如果未能解决你的问题,请参考以下文章

为可执行文件指定一个不同于可执行脚本名称的名称

在linux中如何编译C程序,使之成为可执行文件?如何调试?

如何去掉控制台上输出的这些日志

GCC编译器编译链接

qt creator源码全方面分析(2-3)

gcc命令