【发布时间】:2015-10-23 19:07:15
【问题描述】:
这是我的设置:
- 名为
Stat的 Objective C 代码静态库。 - 一个 Swift 框架,它在自己的类中使用来自
Stat的代码(此框架称为Dyn)。静态库和这个框架在同一个 Xcode 项目中。 - 将上述项目作为子项目并链接到
Dyn的 Mac 应用程序/项目。
在我的应用中,我的代码如下:
import Cocoa
import Dyn
...
SomeDynClass().doSomething()
但是,当我尝试编译时,当我 import Dyn 时出现错误。错误是
error: missing required module ‘Stat'
我的应用似乎可以很好地找到我的框架,但不知何故它也需要为我的静态库找到一个模块?
Stat 有一个非常基本的模块文件:
module Stat {
header "Stat.h"
export *
}
我想我需要将我的 Mac 应用程序的框架搜索路径指向 Stat,但我不知道为什么,也不知道怎么做。我该如何解决?
【问题讨论】:
-
我知道它已有一年多的历史了,但是您找到解决方案了吗?我现在对 OpenSSL 也有类似的问题。我构建了自己的 .a 文件 libcrypto 和 libssl 并为它们创建了 module.modulemap(模块名称:COpenSSL)。我可以在我的 swift 框架中使用它(测试也在工作)但是当我在应用程序中使用这个框架时,我得到:缺少所需的模块:COpenSSL
-
@leizeQ 您是否也尝试在您的应用程序中链接到
COpenSSL?我不确定这是否可行,但值得一试! -
@jbrennan 就我而言,Stat 和 Dyn 都很迅速。 Stat 我假设我现在可以使用 XCODE 9.1 构建(它支持 swift 静态库)。问题是在哪里包含 stat 的模块映射以及模块映射文件中应该包含什么?
标签: macos swift cocoa frameworks