gpt4 book ai didi

swift - 加载 Swift 库 : "error: no such module"

转载 作者:搜寻专家 更新时间:2023-10-31 22:18:19 24 4
gpt4 key购买 nike

新手 Swift 问题在这里。如果我制作 2 个 Swift 项目 - 一个可执行文件和一个库,我在从可执行文件调用库时遇到问题。

A) 所以如果我们像这样创建项目:

~ $ mkdir Foo Bar
~ $ cd Foo/
Foo $ swift package init --type executable
Foo $ cd ../Bar/
Bar $ swift package init --type library

Bar $ git init .
Bar $ git add .
Bar $ git commit -m "Initial commit"
Bar $ git tag 1.0.0
Bar $ swift build

B) 从这里开始,如果我尝试从“Foo”中包含“Bar”,我会得到error: no such module 'Bar'

这看起来像是 Swift PATH 问题。所以我肯定错过了一些非常基本的东西。有人可以指出我所缺少的吗?

File: Package.swift

  // swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
name: "Foo",
dependencies: [
.package(url: "../Bar", from: "1.0.0"),
],
targets: [
.target(
name: "Foo",
dependencies: []),
]
)

File: Sources/Foo/main.swift

  import Bar
print("Hello, world!")

swift build

Bar $ cd ../Foo
Foo $ swift build

Compile Swift Module 'Foo' (1 sources)
Foo/Sources/Foo/main.swift:1:8: error: no such module 'Bar'
import Bar
^
error: terminated(1): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool -f Foo/.build/debug.yaml main

Version

$ swift --version
Apple Swift version 4.0.3
Target: x86_64-apple-macosx

最佳答案

所以看起来你需要两次包含“依赖项”。一次进入“依赖项”部分,一次进入“目标”部分。感谢@user9335240。

import PackageDescription

let package = Package(
name: "Foo",
dependencies: [
.package(url: "../Bar", from: "1.0.0"),
],
targets: [
.target(
name: "Foo",
dependencies: ["Bar"]),
]
)

关于swift - 加载 Swift 库 : "error: no such module",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48776008/

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