![](/img/trans.png)
[英]How to create c/c++ library in Window , and use in iPhone project?
[英]How to use __IPHONE_4_0 definition in a C++ library with Xcode?
我正在尝试为iOS应用程序开发C ++库。 该库加载GLES和OpenAL函数。 我们的想法是用C ++开发一个库,并在iOS和Android中使用相同的代码(两者都是本机编译)。 我只使用iOS实现,并且我已经使用库完成了一个示例应用程序,我在库中有这个块:
#ifdef _IPHONE_4_0 #warning "Including iPhone SDK 4.0 working here" // compiling warning is actived #include <OpenGLES/ES2/gl.h> #include <OpenGLES/ES2/glext.h> #include <OpenAL/al.h> #include <OpenAL/alc.h> ... #elif __ANDROID_API_ // Android #warning "Including Android working here" // Compiling warning is not actived ... #endif
所以,问题来自句子“#ifdef _IPHONE_4_0”。 如果我使用它,Xcode找不到包含文件,但如果我评论所有if clausule(android部分也是如此),Xcode可以找到所有这些。
#warning句子显示编译器正在编译时读取iphone部分(带或不带行注释)。 我是否需要以其他方式使用该定义?
提前致谢!
查看此文章如何在C预处理器中可靠地检测Mac OS X,iOS,Linux,Windows?
另外,据我所知,__ IPHONE_4_0宏仅在iOS 4.0 SDK中定义。 因此,如果您使用的是其他版本的SDK,则代码不起作用。
另一种方法是在Xcode项目构建设置('预处理器宏'字段)中定义自己的宏,并将其命名为IOS_BUILD。 它将同时提供 - objective-c和c ++代码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.