matlab调用c 静态库,请教如何用mex连接这个C静态库

博主在尝试将TA-Lib C库在MATLAB 2012a中使用时遇到链接错误,涉及函数TA_KAMA。文章详细描述了问题背景,VS成功运行的代码示例,以及在Matlab中编译的错误信息,寻求解决编译问题的方法。
摘要由CSDN通过智能技术生成

这个库的地址以及说明在附件中

在VS2010中可以成功运行连接并运行,如下代码

#include "F:\Program Files\ta-lib\c\include\ta_libc.h"

int main( void )

{

TA_Real    closePrice[400];

TA_Integer outBeg;

TA_Real    out[400];

TA_Integer outNbElement;

TA_RetCode retCode;

retCode=TA_KAMA(0,399,&closePrice[0],30,

&outBeg, &outNbElement, &out[0] );

}

但是在matlab 2012a中用mex命令对以上相同内容代码编译却报错

#include "mex.h"

#include "F:\Program Files\ta-lib\c\include\ta_libc.h"

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])

{

TA_Real    closePrice[400];

TA_Integer outBeg;

TA_Real    out[400];

TA_Integer outNbElement;

TA_RetCode retCode;

retCode=TA_KAMA(0,399,&closePrice[0],30,

&outBeg, &outNbElement, &out[0] );

}

》mex test2.c ta_libc_csr.lib ta_libc_csd.lib ta_libc_cmr.lib ta_libc_cmd.lib ta_libc_cdr.lib ta_libc_cdd.lib

正在创建库 C:\Users\luli\AppData\Local\Temp\mex_MglbgX\templib.x 和对象 C:\Users\luli\AppData\Local\Temp\mex_MglbgX\templib.exp

test2.obj : error LNK2019: 无法解析的外部符号 TA_KAMA,该符号在函数 mexFunction 中被引用

test2.mexw64 : fatal error LNK1120: 1 个无法解析的外部命令

F:\PROGRA~2\MATLAB\R2012A\BIN\MEX.PL: Error: Link of 'test2.mexw64' failed.

请各位高手解答 小弟不胜感激!

a70cbf5f56cb187f20fb09bae08ed3de.gif

2012-12-27 21:16 上传

点击文件名下载附件

150 Bytes, 下载次数: 25

库下载地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值