我需要做些什么才能使用C++构建茧
What do I need to do to get cocoapods to build with C++?
我正在尝试构建一个库,以便通过Cocoapods进行分发。该库主要用Objective C编写,但也包含一些C++文件。没有一个C++头是库的公共API的一部分。这个库在Xcode中构建得很好,我可以作为一个框架分发,但pod可能更容易被其他人使用,对吧?
这是我第一次尝试建造茧,所以我可能做了一些明显错误的事情。
当我运行pod lib lint
或试图构建依赖于pod的演示应用程序时,我会收到错误消息,表明构建系统根本不理解C++。
在C++头文件中:
class CGuard {
> unknown type name 'class'; did you mean 'Class'?
在另一个C++头文件中:
template<typename T>
class CContexts {
> unknown type name 'template'
我的podspec文件包括
spec.xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
'CLANG_CXX_LIBRARY' => 'libc++'
}
spec.library = "c++"
我还能做些什么来告诉构建系统使用C++编译器?
看起来键是在添加private_header_files
条目,以从Cocoapods导出的框架中删除C++标头。
尽管Cocoapods被记录为只在生成的模块伞形标头中包括来自public_header_files
的文件,但如果subspec
节没有自己的public_header_files
条目,则看起来每个subspec
节都包含了所有标头。
C++文件都是在subspec
节中编译的,这样我就可以使用不同的编译器设置,所以private_header_files
条目也需要在subspec
节中。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- 函数向量_指针有不同的原型,我可以构建一个吗
- 如何使用ndk-build.cmd构建Android.so文件
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 构建一个由C和C++文件组成的库
- llvm构建器向基本块添加终止符
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 如何跨平台将二进制资源构建到程序中?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 如何解决 Ninja c++ 构建和执行问题
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- 用CMake构建C++协议
- Mingw-64 在构建和安装后不会编译 openCV 代码