为什么链接器将静态库链接为错误?的iOS

问题描述 投票:25回答:7

我在将混合语言框架链接到项目时遇到问题。

1)我用Swift和Objective-C类创建框架。

2)主要逻辑存储在Swift文件中。例如,带有调用NSLog(“ Swift log was created”)的方法的类。

3)Objective-C文件的类具有创建我的Swift类实例并调用Swift-log方法的方法。

4)我将此框架与Objective-C项目链接在一起,可以调用此项目中需要的所有内容,但是当我要构建此项目时,会收到错误“ linker command failed with exit code 1 (use -v to see invocation)

和警告:

ld: warning: Could not find auto-linked library 'swiftFoundation'

ld: warning: Could not find auto-linked library 'swiftDarwin'

ld: warning: Could not find auto-linked library 'swiftCoreFoundation'

ld: warning: Could not find auto-linked library 'swiftCore'

ld: warning: Could not find auto-linked library 'swiftCoreGraphics'

ld: warning: Could not find auto-linked library 'swiftObjectiveC'

ld: warning: Could not find auto-linked library 'swiftDispatch'

ld: warning: Could not find auto-linked library 'swiftSwiftOnoneSupport'

我还看到了导入空Swift文件的解决方案,但必须使项目没有任何垃圾。

ios objective-c swift static-libraries static-linking
7个回答
69
投票

显然,对于纯Objective-C项目,您需要将此$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)添加到目标的library搜索路径中。当我在目标-c中包括为项目快速编写的库时,这对我有用


30
投票
  1. 在Xcode中打开ios / YourAppName.xcodeproj

11
投票

对于XCode 11 beta 4 库搜索路径


9
投票

就我而言,这是添加Swift Pods库后的一个React-Native项目。也许只是第2步可以工作:


7
投票

2
投票

[使用Xcode首选项»组件»工具链中配置的Swift 5.0快照意外编译项目时,我遇到了相同的错误。


0
投票

如果将Xcode 11 beta 4与迦太基结合使用时遇到此错误,请参见以下解决方法:

© www.soinside.com 2019 - 2024. All rights reserved.