openFrameworks和cocos2d都有EAGLview.h
的包装,当然你不能同时使用它们。只需将两个库(libcocos2d.a
和libofxiPhone_iphoneos_Release.a
)添加到我的项目中就会出现链接器错误:
ld: duplicate symbol _OBJC_METACLASS_$_ES1Renderer in /Developer/of_007_iphone/apps/cwi007/iTicTacToe/libofxiPhone_iphoneos_Release.a(ES1Renderer.o) and /Developer/of_007_iphone/apps/cwi007/iTicTacToe/libs/libcocos2d.a(ES1Renderer.o) for architecture armv7
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 failed with exit code 1
我正在 openFrameworks 中编写我的程序的核心,因为它很容易和C ++。我想用 cocos2d 放置UI,过渡,菜单等,因为它也很简单,看起来不错。
我试过
#define __OPENFRAMEWORKS__
在一个.h
文件中,并将另一个包装在
#ifndef __OPENFRAMEWORKS__
#endif
认为我可以使用cocos2d添加的额外位来“扩充”openFrameworks中的.h
,但之后openFrameworks将无法构建,因为它不再具有EAGLview
的定义。
是否有使用这样的两个库的最佳实践,这两个库都使用相同的低级功能,在这种情况下CoreAnimation
?我可以编写自己继承的类吗?有没有办法从我的项目中删除其中一个.h
文件?
答案 0 :(得分:0)
尝试在原始openFrameworks代码中包含cocos2d.h
的{{1}}标题(即EAGLview.h
),反之亦然。