我对C++相当陌生。我目前正在开展一个小组项目,我们希望使我们的课程与实验室电脑(Windows)和我的电脑(Mac OS X)兼容。C++ #ifdef Mac OS X问题
这里是我们一直在我们的文件的顶部放置:
#ifdef TARGET_OS_X
# include <GLUT/glut.h>
# include <OpenGL/OpenGL.h>
#elif defined _WIN32 || defined _WIN64
# include <GL\glut.h>
#endif
我意识到这个问题已经被问过,但我的搜索一直给我矛盾的答案,如“_MAC”,“TARGET_MAC_OS “,”MACINTOSH“等等。为了与Mac兼容,在#ifdef语句中放入了什么是当前正确的声明?现在它不工作。
谢谢!
当然,如果OP不针对iOS,那么'#ifdef __APPLE__'就足够了。 –
@larsmans:最好确定,然后抱歉。如果用户决定简化,当然:) – orlp
'TARGET_OS_IPHONE'是为iOS模拟器定义的,因此您需要在它之前放置'TARGET_IPHONE_SIMULATOR'测试。 *还有*,这三个都是在苹果平台上定义的 - 您必须按值测试('#if TARGET_OS_IPHONE',而不是'#ifdef TARGET_OS_IPHONE'。) –