繁体   English   中英

如何使用 Visual Studio C/C++ 编译器 (cl.exe) 来预处理我的 Objective-C 代码?

[英]How can I use the Visual Studio C/C++ Compiler (cl.exe) to pre-process my objective-C code?

我有一些旧的 Objective-C 代码,我正在尝试使用我的自定义构建框架对其进行编译。 该构建框架对源文件进行预处理,然后将它们编译为 C 源代码,然后使用 Cl.exe 进行其余的编译。

但是,当我尝试对 VS2015 执行相同操作时,它在我的预处理阶段失败了。 从 VS2015 开始, VCRuntime.h间接包含在所有文件中,并使用更新的 C++ 功能,例如 Variadic 宏。 所以我的预处理器失败了。

那么,有没有一种方法可以使用 Cl.exe 来预处理我的源代码,例如展开 #includes、评估 #defines 等而无需担心实际代码? 我试过cl.exe /Tp但没有用。 但是这个选项确实理解#imports

我终于弄明白了。

cl.exe /Tp /E /I命令可以在一定程度上扩展objective-c (.m)c (.c)源文件的预处理。 但是它无法解析一些与COM相关的代码。

然后我找到了一个可以成功预处理.c, .cpp and .m files的开源 C-Pre-Processor 这个工具的好处是,它支持 C++ 11 特性以及例如可变参数模板等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM