clang' -rewrite-objc main.m'错误

时间:2015-09-06 10:06:32

标签: c++ ios objective-c iphone

我想用clang转换Object-C到C ++,引用错误如下:

userdeMac-mini:Demo xxx $ clang -rewrite-objc main.m

main.m:9:9:致命错误:' UIKit / UIKit.h'找不到文件

import< #UIKit / UIKit.h>

生成了1个错误。

打扰一下,怎么解决?

3 个答案:

答案 0 :(得分:2)

这对我有用。您可以尝试根据SDK位置更改路径。

clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.1.sdk ViewController.m

答案 1 :(得分:1)

main.m:9:9: fatal error: 'UIKit/UIKit.h' file not found

这意味着无法找到UIKit标头。你在某处安装了iOS SDK吗?您是否正确配置了makefile(或构建环境)中的搜索路径?

开始调查的最简单方法是从一个有效的Xcode项目开始,编译单个.m文件,然后查看用于编译该文件的命令行。 clang重写器采用略有不同的选项,但搜索路径和许多其他配置是相同的。

答案 2 :(得分:0)

首先,您应该使用“cd”命令进入“clang - rewrite - objc”文件目录,然后使用命令如“clang - x objective - c - rewrite - objc - isysroot / Applications / Xcode。应用程序/内容/开发人员/平台/ iPhoneSimulator平台/ Developer / SDKs / iPhoneSimulatorX Xs dk Xm“,”X“是您的iPhoneSimulator的版本和”clang - rewrite - objc“文件名。