码迷,mamicode.com
首页 > 其他好文 > 详细

matlab采用mex编译多个cpp文件

时间:2015-09-22 16:33:15      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

最近在看matlab code时,由于本人使用的是64系统,而code中的mex文件时在32位系统上编译的,所以需要重新自己编译maxflowmex.cpp,但是直接mex maxflowmex.cpp时,出现以下错误:

maxflowmex.obj : error LNK2019: 无法解析的外部符号 "public: __cdecl Graph<float,float,float>::Graph<float,float,float>(int,int,void (__cdecl*)(char *))" (??0?$Graph@MMM@@QEAA@HHP6AXPEAD@Z@Z),该符号在函数 mexFunction 中被引用

问题的原因是无法需要编译多个cpp文件所致。maxflowmex.cpp中包含头肩为#include "maxflow-v3.01/graph.h",所以从网上下载maxflow-v3.01放到相应目录下,如下图所示

技术分享

观察maxflow-v3.01中有graph.cpp和maxflow.cpp,所以在命令行中输入mex maxflow-v3.01/maxflow.cpp maxflow-v3.01/graph.cpp maxflowmex.cpp即可。搞定!

matlab采用mex编译多个cpp文件

标签:

原文地址:http://www.cnblogs.com/gavin-vision/p/4829136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!