两个库扩展了EAGLview,我想同时使用它们。怎么样?

时间:2011-08-22 10:40:15

标签: objective-c ios cocos2d-iphone openframeworks eaglview

openFrameworkscocos2d都有EAGLview.h的包装,当然你不能同时使用它们。只需将两个库(libcocos2d.alibofxiPhone_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文件?

1 个答案:

答案 0 :(得分:0)

尝试在原始openFrameworks代码中包含cocos2d.h的{​​{1}}标题(即EAGLview.h),反之亦然。