OpenSSL 无法为 swift 框架编译
OpenSSL fails to compile for swift framework
在我创建的示例应用程序中,使用模块映射使用了 openssl 库。
以下是 module.modulemap 文件的结构。
framework module TestApp {
umbrella header "TestApp.h"
export *
module * { export * }
header "opensslv.h"
header "x509.h"
header "pkcs12.h"
header "pem.h"
}
除此之外,我还在我的项目中添加了 include 和 lib 文件夹。
这种方法非常适用于 swift 示例应用程序。源代码编译并且 openssl api 公开给 swift.
现在是真正的问题。当我创建一个 swift 框架并遵循上述创建模块映射并将 include 和 lib 文件夹添加到项目结构的过程时。
我在“pkcs12.h”这一行收到错误。
include <openssl/bio.h>
'openssl/bio.h' 找不到文件'
我在构建设置中添加了导入路径,Header 搜索路径。
由于 OpenSSL 是基于 C 的库,它不针对 swift 框架进行编译。
桥接 header 也不适用于 swift 框架。
有人可以在这里帮助我或了解为 swift 框架包含 OpenSSL 库的更好方法吗?
https://drive.google.com/file/d/1B4NFbTQG0JjSkZgFx0yy1jYw-lRxX1Oa/view?usp=sharing
我已经添加了示例项目link。在 TODO 部分,我想使用 OpenSSL 方法。
注意:我能够使用以下脚本编译 openSSL 库。
sed -E -i '' 's/#[[:space:]]*include <openssl\/(.*).h>/#include \"\.h"/'
$SCRIPT_DIR/../Libraries/openssl/include/openssl/*.h
我修复了编译问题并能够访问 OpenSSL API。
我不得不对模块映射文件进行一些更改。
//
// module.modulemap
// NiksWay
//
// Created by Suraj Gaikwad on 14/03/22.
//
framework module NiksWay {
umbrella header "NiksWay.h"
export *
module * { export * }
explicit module OpenSSL {
header "pkcs12.h"
header "pem.h"
header "opensslv.h"
header "err.h"
link "libcrypto"
link "openssl"
export *
}
}
在我创建的示例应用程序中,使用模块映射使用了 openssl 库。 以下是 module.modulemap 文件的结构。
framework module TestApp {
umbrella header "TestApp.h"
export *
module * { export * }
header "opensslv.h"
header "x509.h"
header "pkcs12.h"
header "pem.h"
}
除此之外,我还在我的项目中添加了 include 和 lib 文件夹。 这种方法非常适用于 swift 示例应用程序。源代码编译并且 openssl api 公开给 swift.
现在是真正的问题。当我创建一个 swift 框架并遵循上述创建模块映射并将 include 和 lib 文件夹添加到项目结构的过程时。
我在“pkcs12.h”这一行收到错误。
include <openssl/bio.h>
'openssl/bio.h' 找不到文件'
我在构建设置中添加了导入路径,Header 搜索路径。
由于 OpenSSL 是基于 C 的库,它不针对 swift 框架进行编译。 桥接 header 也不适用于 swift 框架。
有人可以在这里帮助我或了解为 swift 框架包含 OpenSSL 库的更好方法吗?
https://drive.google.com/file/d/1B4NFbTQG0JjSkZgFx0yy1jYw-lRxX1Oa/view?usp=sharing
我已经添加了示例项目link。在 TODO 部分,我想使用 OpenSSL 方法。
注意:我能够使用以下脚本编译 openSSL 库。
sed -E -i '' 's/#[[:space:]]*include <openssl\/(.*).h>/#include \"\.h"/'
$SCRIPT_DIR/../Libraries/openssl/include/openssl/*.h
我修复了编译问题并能够访问 OpenSSL API。
我不得不对模块映射文件进行一些更改。
//
// module.modulemap
// NiksWay
//
// Created by Suraj Gaikwad on 14/03/22.
//
framework module NiksWay {
umbrella header "NiksWay.h"
export *
module * { export * }
explicit module OpenSSL {
header "pkcs12.h"
header "pem.h"
header "opensslv.h"
header "err.h"
link "libcrypto"
link "openssl"
export *
}
}