gpt4 book ai didi

swift - 在 Mac 上编译 Swift 在 Windows 上运行

转载 作者:搜寻专家 更新时间:2023-10-30 23:09:08 25 4
gpt4 key购买 nike

如何将 Mac 上的 swift 文件编译为可执行文件以在 Windows 上运行?

我只需要一个可以从 C# 代码调用的可执行文件。

最佳答案

如果您有适合 Windows 的 swift 库模块,您的 macOS swift 编译器可以为 Windows 生成目标文件,例如 Hello.obj。此外,如果您有适用于 Windows 的特殊链接器和一些 C/C++ 运行时目标文件,则可以构建可执行文件(例如 Hello.exe)。

您只需要以下内容即可。

  1. 将 Windows 包中的目录复制到 macOS。

    1) 在 Windows 上安装 Swift for Windows ver-1.5 ( https://swiftforwindows.codeplex.com )

    2) 从 Windows 复制目录到 macOS

     SwiftForWindows/Swift/lib/swift  // Swift library for Windows (MinGW)
    SwiftForWindows/Swift/lib/mingw // C/C++ runtime object files (MinGW)
  2. 为 MacOS 安装 Swift 编译器 ( https://swift.org/builds/swift-3.0-release/xcode/swift-3.0-RELEASE/swift-3.0-RELEASE-osx.pkg )

    您应该为库模块和编译器使用相同的版本。使用版本 3.0。 Swift 3.0.1 或 3.1 不适用于 SwiftForWindows-1.5。

  3. 使用 Mac 端口安装 MinGW 链接器

    1) 安装 Mac Port (https://www.macports.org/install.php)

    2) $ sudo port install x86_64-w64-mingw32-binutils

    3) 创建目录bfd_ld并将/opt/local/bin/x86_64-w64-mingw32-ld和name复制到ld

     $ mkdir bfd_ld
    $ cp -p /opt/local/bin/x86_64-w64-mingw32-ld bfd_ld/ld
  4. 更多设置

    1) 在 macOS 中重命名目录

     mv SwiftForWindows/Swift/lib/swift/mingw SwiftForWindows/Swift/lib/swift/windows

    2)复制C运行时对象(3个文件)

     cp SwiftForWindows/Swift/lib/mingw/*.o bfd_ld
  5. 编译

     echo "print(Hello)" > Hello.swift
    ~/Library/Developer/Toolchains/swift-3.0-RELEASE.xctoolchain/usr/bin/swiftc -target x86_64-pc-windows-gnu -resource-dir SwiftForWindows/Swift/lib/swift -tools-directory bfd_ld -L SwiftForWindows/Swift/lib/mingw -lswiftSwiftOnoneSupport -o Hello.exe Hello.swift

    这将生成 Hello.exe。您可以忽略“警告:.drectve”消息。

  6. 运行

    可执行文件将需要目录“SwiftForWindows/My Programs”中的 DLL。

    将Hello.exe复制到Windows目录下运行

祝你好运。谢谢。

关于swift - 在 Mac 上编译 Swift 在 Windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43033106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com