首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Max-flow/min-cut算法中链接mex文件时出错

在Max-flow/min-cut算法中链接mex文件时出错
EN

Stack Overflow用户
提问于 2011-05-02 04:08:00
回答 1查看 970关注 0票数 0

我试图在MATLAB中实现“基于GrabCut的对象分割技术”。为了最小化马尔可夫随机场能量函数,我使用了标准的最大流/最小切割算法,如下所示:http://vision.csd.uwo.ca/code/

问题:当我试图创建一个mex文件来调用MATLAB中的图形创建和最小化函数时,我会得到以下错误:

未定义符号:“图::图( int,int,void ()(char))",引用于: GraphTest.o中的_mexFunction

ld:符号未找到collect2: ld返回1退出状态

mex:“GraphTest.mexmaci64”链接失败。

我的代码非常简单,只是复制了自述文件中提到的代码的一部分,如下所示:

代码语言:javascript
复制
#include "mex.h"
#include <stdio.h>
#include <math.h>
#include "graph.h"

void mexFunction(int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[]) 
{    
    typedef Graph<int, int, int> GraphType;
  GraphType *g = new GraphType(/*estimated # of nodes*/ 2, /*estimated # of edges*/1); 
}

如果以前使用过这个包或者经历过类似错误的人能够提供一些关于这个问题的见解,我会非常感激。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-02 13:00:45

我猜你是用Matlab编译的吧?

尝试:

mex GraphTest.cpp graph.cpp

我猜想您的mex网关文件是GraphTest.cpp。任何依赖项都可以标记到末尾。对于简单的项目来说,这是相当有效的。当它变得更大时,您将希望切换到实际的构建系统w/依赖项。我更喜欢CMake。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5853381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档