【发布时间】:2015-12-08 17:51:09
【问题描述】:
我正在尝试使用新版本的开源 Swift 2.2 编译器构建一个项目,但遇到了一些问题。
像这样的最小示例:
.
├── Package.swift
└── Sources
└── main.swift
Package.swift
import PackageDescription
let package = Package(
name: "foo",
dependencies: []
)
main.swift
print("foo")
通过swift build 运行会抛出以下内容:
Compiling Swift Module 'foo' (1 sources)
Linking Executable: .build/debug/foo
Undefined symbols for architecture x86_64:
"__TFSSCfT21_builtinStringLiteralBp8byteSizeBw7isASCIIBi1__SS", referenced from:
_main in main.swift.o
"__TFs5printFTGSaP__9separatorSS10terminatorSS_T_", referenced from:
_main in main.swift.o
"__TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A0_", referenced from:
_main in main.swift.o
"__TIFs5printFTGSaP__9separatorSS10terminatorSS_T_A1_", referenced from:
_main in main.swift.o
"__TMSS", referenced from:
_main in main.swift.o
"__TTSg5P____TFs27_allocateUninitializedArrayurFBwTGSax_Bp_", referenced from:
_main in main.swift.o
"__TZvOs7Process11_unsafeArgvGSpGSpVs4Int8__", referenced from:
_main in main.swift.o
"__TZvOs7Process5_argcVs5Int32", referenced from:
_main in main.swift.o
"_globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_func5", referenced from:
_main in main.swift.o
"_globalinit_33_1BDF70FFC18749BAB495A73B459ED2F0_token5", referenced from:
_main in main.swift.o
ld: symbol(s) not found for architecture x86_64
<unknown>:0: error: build had 1 command failures
swift-build: exit(1): ["/Library/Developer/Toolchains/swift-2.2-SNAPSHOT-2015-12-01-a.xctoolchain/usr/bin/swift-build-tool", "-f", "/Users/kilian/Desktop/foo/.build/debug/foo.o/llbuild.yaml"]
Swift 是 Apple Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c) Target: x86_64-apple-macosx10.9,如 swift.org 上提供的那样。
我可以在网上找到的唯一故障排除信息对应于 Xcode 和链接其他外部库。在这里的任何帮助将不胜感激。
【问题讨论】:
-
FWIW,你的确切例子对我有用。一个简单的
swift是否会为您正确启动 2.2-dev REPL?print("hello")是否在 REPL 中工作? -
确实如此,在 REPL 中似乎一切正常。