OC

Knowledge OS
登录 注册
全部话题 移民 创业 iOS Mac Objective-C Swift Android 招聘 求职

最近在需要用一个叫live2d的c++库,倒入到xcode工程中编译报错,求指点

yuan
yuan 发布于 2014年01月13日
无人欣赏。

如题,我已经把appdelegate改成了mm,依然报很多错误, 主要有两个:(1)‘operator new’ takes type size_t ('unsigned long') as first parameter (2) No matching function for call to 'operator new' 对c++了解很少,求高手指点

共18条回复
楼长 ·
yuan 回复于 2014年01月13日

无从下手中。。。。

2楼 ·
yuan 回复于 2014年01月13日

等待中。。。。。

3楼 ·
董一凡 回复于 2014年01月13日

你把出错的地方贴出来,应该是64位和32位的原因。我看看,教你怎么改

4楼 ·
玉楼 回复于 2014年01月13日

C++中有new,object-c中没有。

5楼 ·
玉楼 回复于 2014年01月13日

俺刚才说的不对了。C++中的new相关于为对象分配了内存后自动调用构造函数。形式如下:

CMyClass *obj = new CMyClass;

而Object-C中的new相当于alloc和init的组合调用。

MyObject *obj = [MyObject new];
// 等价于
MyObject *obj = [[MyObject alloc] init];
6楼 ·
yuan 回复于 2014年01月13日

3楼 @董一凡 alt text

非常感谢

7楼 ·
yuan 回复于 2014年01月13日

5楼 @玉楼 我很少用new

8楼 ·
董一凡 回复于 2014年01月13日

5楼 @玉楼 他这个问题和obj-c没关系,如果文件是mm后缀,是可以混合编译c++和obj-c的

9楼 ·
董一凡 回复于 2014年01月13日

6楼 @yuan 你把l2d_size_t的声明打出来我看看,xcode里按住command点击应该能跳转过去

10楼 ·
yuan 回复于 2014年01月13日

9楼 @董一凡 #if defined(L2DTARGETIPHONE) || defined(L2DTARGETIPHONEES2) || defined(L2DTARGETMACOSX) typedef unsigned long l2dsizet ;
#elif defined(L2DTARGETPS4) typedef unsigned long l2dsizet ;
#else typedef unsigned int l2dsizet ;
#endif

这是库里的内容,可以改么

本帖有18个回复,因为您没有注册或者登录本站,所以只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。
登录 或者 注册

相关帖子

[顶 楼]
|
|
[底 楼]
|
|
[首 页]

AltStyle によって変換されたページ (->オリジナル) /