2011-03-15 95 views
0

我有一个iphone项目,它完美运行xcode 3.2和ios 4.1。在这些项目中,我使用C++和不同的库(例如opensurf,opencv,tesseract)..当我更新到xcode 4.0和ios 4.3时,它不再工作了..它在库中崩溃。在opensurf库:iphone C++ xcode 4.0 ios 4.3

void FastHessian::interpolateStep(int r, int c, ResponseLayer *t, ResponseLayer *m, ResponseLayer *b, 
            double* xi, double* xr, double* xc) 
{ 
    CvMat* dD, * H, * H_inv, X; 
    double x[3] = { 0 }; 

    dD = deriv3D(r, c, t, m, b); 
    H = hessian3D(r, c, t, m, b); 
    H_inv = cvCreateMat(3, 3, CV_64FC1); 
    cvInvert(H, H_inv, CV_SVD); // Program received signal: "SIGABRT" 
    cvInitMatHeader(&X, 3, 1, CV_64FC1, x, CV_AUTOSTEP); 
    cvGEMM(H_inv, dD, -1, NULL, 0, &X, 0); 

    cvReleaseMat(&dD); 
    cvReleaseMat(&H); 
    cvReleaseMat(&H_inv); 

    *xi = x[2]; 
    *xr = x[1]; 
    *xc = x[0]; 
} 

的malloc:*错误对象地址0x20000:被释放的指针没有被分配 *集malloc_error_break断点调试

什么想法?我想我缺少构建配置中的一个或多个设置?

+0

该编译器将其设置为?我相信LLVM目前只有有限的支持objective-C++ – 2011-03-15 10:04:33

+0

目前它的GCC 4.2 – Ben 2011-03-15 10:25:05

+0

嘿,本,你是否设法找出了这个问题?它目前也让我难住。 – 2011-05-11 22:52:14

回答