如何防止 xcode 4.0 自动在纯 cpp 文件中包含 objective-c 运行时标头
How to keep xcode 4.0 from automatically including objective-c runtime headers in plain cpp files
我正在尝试为iOS编译一个objective-c,c ++,c混合项目。我使用 llvm 2.0 编译器并将"编译源代码"设置为"根据文件类型"。我禁用了使用前缀标头(我希望),并努力寻找错误的 #import 应该 #include s。
在构建 cpp 文件时,我仍然收到编译错误,因为编译器出于某种原因尝试包含 NSObjectiveCRuntime.h。
我在构建设置中寻找错误的条目。如果仍指定了"前缀标头",则禁用"预编译前缀标头"不会执行任何操作。我通过以下方式解决了我的问题:
- 创建新的 ProjectName_Prefix.pch
- 通过目标构建设置中的"前缀标头"将其指定为我的目标预编译标头
-
向其添加以下代码
// // Entourage_Prefix.pch // Entourage // // Created by Martin Lütke on 24.06.12. // Copyright 2012 __MyCompanyName__. All rights reserved. // #include <string> #include <strstream> #include <vector> #include <map> #ifdef __OBJC__ #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import "cocos2d.h" #endif #ifdef __cplusplus #include <boost/shared_ptr.hpp> #include <boost/function.hpp> #endif
这将允许显式指定通过 objective-c 或 c++ 中的前缀标头包含的内容。
相关文章:
- vcruntime.h 从 Windows 包含文件夹中丢失?
- 禁止显示有关包含文件中 #pragma 包的警告
- 无法打开包含文件:在 vs2017 上'QtWidgets/qtwidgetsglobal.h'
- 包含文件 <sched_yield.h>在我的 RHEL 5 上找不到
- 尝试使用 MSVC 从源代码构建 qt 创建器:无法打开包含文件:"stddef.h":没有这样的文件或目录
- 无法打开包含文件'Graphics.hpp'没有这样的文件或目录,Visual Studio的其他包含不起作用
- 为什么 C++ 编译器在"c:program filesgnu emacsinclude"中查找包含文件?
- 包含文件中的 Typdef "未在此范围内声明"
- 错误: C1083: 无法打开包含文件:"boost/asio.hpp": 没有此类文件或目录
- SFML c ++ 当包含文件内游戏中发生事件时,如何使用铃声函数为我的游戏创建声音类?
- 在Windows上设置CMake和vcpkg时出错"无法打开包含文件"
- 致命错误 C1083:无法打开包含文件:"GL/glew.h":没有此类文件或目录
- Qt自动生成的.rc文件无法打开包含文件'windows.h'
- Visual Studio 停止识别任何包含文件
- 无法打开包含文件:"签证.h"
- 如何检查每个头文件是否包含必需的包含文件?
- Protobuf:无法在 message.pb.h 文件中打开包含文件 common.h
- extern 关键字在包含文件头文件C++
- 错误:无法打开包含文件:"MQTTAsync.h":没有此类文件或目录
- #include "date.h" 创建错误 E1696 无法打开源文件"date.h",也无法打开包含文件:没有这样的文件或目录