CocoaPod - 在头文件中使用 C++ 时出现 Podspec 检查错误
CocoaPod - Podspec linting errors when using C++ in header files
当 linting 标头文件包含C++时,我遇到了问题。
pod lib lint MyLibrary.podspec
这是我的头文件声明:
#include <memory>
#include <string>
#include <vector>
#include <stdexcept>
我收到以下错误 PathToMyHeader:31:10:致命错误:"找不到内存"文件
我认为"字符串","矢量","stdexpept"将是相同的错误
这是我的豆荚规格
s.source_files = 'Pod/Classes/Include/*', 'Pod/Frameworks/MyFramework.framework/Headers/*.h'
s.resource_bundles = {
'Pod' => ['Pod/Resources/*']
}
s.public_header_files = 'Pod/Frameworks/MyFramework.framework/Headers/*.h'
s.vendored_frameworks = 'Pod/Frameworks/MyFramework.framework'
s.frameworks = 'Accelerate', 'Security', 'QuartzCore', 'OpenGLES', 'CoreBluetooth', 'CoreGraphics', 'CoreFoundation', 'CoreText', 'MyFramework'
s.vendored_libraries = 'Pod/Libraries/*.a'
s.libraries = 'z', 'stdc++', 'MyLib'
s.pod_target_xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'compiler-default',
'CLANG_CXX_LIBRARY' => 'libc++',
'OTHER_LDFLAGS' => '$(inherited) -ObjC'
}
掉毛后的错误
While building module 'MyPod' imported from /var/folders/mg/0ckz5wr564sf3ctkr_lbtt440000gn/T/CocoaPods-Lint-20180913-4902-prtn4r-MyPod/App/main.m:3:
In file included from <module-includes>:1:
In file included from /Users/xxx/Library/Developer/Xcode/DerivedData/App-gtcyhyyxmkxxbbfdxoqxlqrpwaaq/Build/Products/Release-iphonesimulator/MyPod/MyPod.framework/Headers/MyPod-umbrella.h:22:
/Users/xxx/Library/Developer/Xcode/DerivedData/App-gtcyhyyxmkxxbbfdxoqxlqrpwaaq/Build/Products/Release-iphonesimulator/MyPod/MyPod.framework/Headers/Header-cpp.h:30:10: fatal error: 'memory' file not found
#include <memory>
^~~~~~~~
94 warnings and 1 error generated.
/var/folders/mg/0ckz5wr564sf3ctkr_lbtt440000gn/T/CocoaPods-Lint-20180913-4902-prtn4r-MyPod/App/main.m:3:9: fatal error: could not build module 'MyPod'
@import MyPod;
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
94 warnings and 2 errors generated.
** BUILD FAILED **
更新 09/13/2018 @Paul Beusterien,非常感谢您的帮助,它现在可以工作了。 豆荚使用:
pod lib lint MyPodSpec.podspec --skip-import-validation
但是在我为我的项目在工作场所调用 pod install 后,它似乎刚刚通过了 pod,但在我运行项目时显示相同的错误 错误
这是一个已知的 CocoaPods 问题,无法在标头C++ lint 上。
解决方法是选项--skip-import-validation
将 c++ 头文件添加到专用头组。
使用 podspec,您可以像这样添加
spec.private_header_files = 'Headers/Private/*.h'
在私有头文件中,您可以安全地包含 stdlib 头文件
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 在某些循环内使用vector.push_back时出现分段错误
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- CocoaPod - 在头文件中使用 C++ 时出现 Podspec 检查错误