2011-08-22 20 views
0

openFrameworkscocos2d都有一个包装EAGLview.h,当然你不能只使用两者。只需添加这两个库(libcocos2d.alibofxiPhone_iphoneos_Release.a)到我的项目给出了一个链接错误:两个库扩展了EAGLview,我想使用它们两个。怎么样?

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++。我想将UI,转换,菜单等与cocos2d,因为它也很容易,看起来不错。

我试图

#define __OPENFRAMEWORKS__ 

在一个.h文件,包裹等在

#ifndef __OPENFRAMEWORKS__ 
#endif 

盘算我可以“增加”与由cocos2d中加入额外的位了openFrameworks的.h,但那么openFrameworks将不会生成,因为它不再具有EAGLview的定义。

是否有像这样的两个库一起工作的最佳实践,这两个库都使用相同的低级功能,在这种情况下为CoreAnimation?我可以编写自己的类,从它们继承吗?有没有办法从我的项目中删除.h文件之一?

回答

0

尝试包含cocos2d.h标题,其中EAGLview.h包含在原始openFrameworks代码中(即ofMain.h),反之亦然。

+0

在OP中注意到,在项目中只有两个库都会因符号重复而导致链接器错误。 – buildsucceeded

+0

但是...是的!适当重建库。 – buildsucceeded

相关问题