首页 > 解决方案 > 在 Objective-c .m 文件中包含 -Swift.h 时出现重复符号链接器错误

问题描述

当我导入目标-Swift.h文件时,在构建期间我的项目中出现重复的符号链接器错误。如果我不包含此头文件并注释掉项目构建的 swift 类的使用。在我的 Obj-C.m文件中,我有这个:

#import "MyTarget-Swift.h"

如果没有此导入,编译器将无法识别我在源文件中使用的 swift 类,并且会出现编译器错误。

链接器错误在我的 Obj-C 源文件和另一个 Obj-C 文件中指向 3rd 方库符号,而不是我的 Swift 类文件。第 3 方库标头在我的桥接头文件中声明:

#import <My3rdPartyLibrary/My3rdPartyLibraryHeader.h>

我在 Xcode 9.4.1 上并使用 Swift 4.1。

编辑:我#import "MyTarget-Swift.h"从目标中保留并删除了 5 个 Swift 文件中的 1 个,并且项目构建。5 个文件中只有被删除的文件引用了第 3 方库。这使我相信编译器没有正确协调引用的符号,或者以某种方式包含引用库两次。

标签: objective-cswift

解决方案


推荐阅读