2016-06-21 343 views
1

我正在为iOS构建一个私人cocoapod,并且遇到了一些C++代码的问题。该项目建立在XCode的很好,但是当我尝试运行pod lib lint MyProjectName.podspec我得到以下错误:在iOS中使用C++ CocoaPod

- ERROR | xcodebuild: /path/to/aheader.h:2:10: error: 'string' file not found

头具有以下第一行:

#include <string> 

搜索可能的解决方案,我添加了下面以podspec(基于CocoaPods: Linking with C++ symbols defined in libPods.a

s.source_files = "MyProjectName/**/*.{swift,c,m,h,mm,cpp,plist}" 
s.library = 'c++' 
s.xcconfig = { 
    'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11', 
    'CLANG_CXX_LIBRARY' => 'libc++' 
} 

但它作出的错误没有什么区别。我看到的另一个建议是“使用包装器”,但这段代码(这是我不能移植到Objective C的第三方IP)已经在使用包装器。

我如何通过将Objective C和C++与Swift一起混合来成功建立吊舱?任何(非空)指针将不胜感激。

回答

0

我不得不简单地将C++头文件扩展名重命名为.hpp,所以默认情况下它并不包含在source_files过滤器中。这解决了问题,因为包装包含标题。发布此信息以防其他人遇到同一问题。

更新:不,它只是让应用程序生成,但使用该窗格仍然不起作用。