Ale*_* B. 7 xcode abi dylib libxml2 swift
我正面临分发编译的 swift 框架的问题。我的框架严重依赖 libxml2 动态库。为了避免Swift 模块兼容性问题,我设置了构建标志 BUILD_LIBRARY_FOR_DISTRIBUTION = YES。
所以我使用 Xcode 11.3 Swift v5.1.3 来构建我的框架。我已将其集成到 Demo.app 项目中。正如预期的那样,Demo.app 在 Xcode 11.3 中运行良好。
但是,我在尝试在 Xcode 11.0 Swift 5.1 中构建 Demo.app 时遇到了另一个错误。我有错误:
#import "libxml/HTMLparser.h"
^
/Applications/Xcode_11.0.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator13.0.sdk/usr/include/libxml2/libxml/HTMLparser.h:15:10: error: 'libxml/xmlversion.h' file not found
#include <libxml/xmlversion.h>
^
/.../DemoApp/ThirdParty/testXML.framework/Modules/testXML.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface:6:8: error: could not build Objective-C module 'libxml2'
import libxml2
^
/.../DemoApp/AppDelegate.swift:11:8: error: failed to load module 'testXML'
import testXML
Run Code Online (Sandbox Code Playgroud)
我在同一台 Mac 上同时使用两个 Xcode 版本。
您的项目在我的 Xcode 11.3 tvOS 模拟器上运行良好。不过,我注意到了一些事情。您构建的框架仅包含 x86_64 架构(仅限模拟器),它无法在物理设备上运行。
对于 11.3 之前的 Xcode,似乎您需要添加$(SDKROOT)/usr/include/libxml2和${SRCROOT}/libxml2到Build Settings。这解决了我在 Xcode 11.2.1 上的问题
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |