【发布时间】:2009-12-21 07:58:06
【问题描述】:
我是 C++ 新手,刚刚开始使用线程处理项目。
目前我的项目涉及到OpenGL和OpenCV库,在编码过程中遇到如下错误:
当前语言:自动;目前c++ 2009-12-21 14:54:49.438 3DTestApp[3210:7803] *** _NSAutoreleaseNoPool(): NSCFNumber 类的对象 0x10ebe0 自动释放,没有适当的池 - 只是泄漏 堆栈:(0x91edff4f 0x91dec432 0x941ad394 0x94282218 0x94281b32 0x94528023 0x942813ef 0x94280dc6 0x94489ef4 0x944882ab 0x9350e13d 0x9350d57b 0x9350d3e0 0x93529e29 0x93529bce 0x935292a8 0x935290e4 0x5743e2) 杀 退出
我放了断点,发现错误是在下面这行执行后才出现的:
cvShowImage("运动追踪器", detectionMotionScreen); (这段代码在一个无限循环的线程中)
我google了一下,发现这个错误只发生在Objective C中,我没有找到与C++相关的结果。
因此,我想问一下是否有人知道为什么会发生这种情况,有没有办法解决它?
edit:我尝试添加框架 Foundation 以使用 NSAutoreleasePool,但是在编译时它会在我的代码中产生很多关于语法的错误,而实际上没有。
【问题讨论】:
标签: c++ multithreading nsautoreleasepool