我正在尝试将此https://github.com/gareth-cross/kalman-ios项目与我自己的Xcode中的Swift项目集成。
[构建项目时,我收到2个错误:
kalman-ios/matrix.hpp:28:10: error: 'cmath' file not found
failed to emit precompiled header
'/Users/.../Build/Intermediates.noindex/PrecompiledHeaders/Tron-iOS-Bridging-Header-
swift_J9ENU1M0P5CE-clang_M49XZJR5TLTE.pch'
for bridging header '/Users/.../Filter/Tron-iOS-Bridging-Header.h'
我的项目纯粹是Swift,而kalman-ios项目是ObjC和ObjC ++的混合。
我的桥接头文件是:
//
// Use this file to import your target's public headers that you would like to expose to Swift.
//
#import "KFEstimator.h"
有关更多上下文,kalman-ios项目的结构为:KFEstimator.mm调用AttitudeESKF.cpp调用matrix.cpp
我最初的想法是cmath文件错误是桥接头错误的原因。但是我几乎没有Swift以外的经验,也不知道如何解决它。直到昨天,我什至不知道您可以使用ObjCPP。
感谢您的任何帮助!
我已经解决了这个问题。我弄错了,并认为该存储库是使用Objective-C进行的对Objective-C ++的调用。
实际上是所有Objective-C ++。
通过遵循此video guide,我能够直接调用Objective-C ++函数。