1.vs2010的配置
新建一个工程,在属性管理器中选择Debug|Win64->Microsoft.Cpp.Win64.user->VC++目录。设置包含目录为:D:\MATLAB\R2010a\extern\include(我的matlab装在D盘);设置库目录为:D:\MATLAB\R2010a\extern\lib\win32\microsoft。
http://blog.sina.com.cn/s/blog_7f18a96b0100tojj.html
2、http://blog.****.net/left_la/article/details/8206645
一、工程配置:
1.C/C++->常规->附加包含目录
添加:
MATLAB\R2010b\extern\include
MATLAB\R2010b\extern\include\win64
2.链接器->常规->附加库目录
添加:
MATLAB\R2010b\extern\lib\win64\microsoft
MATLAB\R2010b\extern\lib\win32\microsoft
3.链接器->输入->附加依赖库
添加:
libmat.lib
libmx.lib
libmex.lib
libeng.lib
由于所安装的matlab为64位,要调用其函数,需要将工程转换为X64
4.顶菜单->生成->配置管理器->平台:X64
5.链接器->高级->目标计算机:
MachineX64(/MACHINE:X64)
6.计算机环境变量->path
添加:
E:\DevTools\MATLAB\R2010b\extern\lib\win64\microsoft;
E:\DevTools\MATLAB\R2010b\bin\win64;
二、所用到的基本读取写入mat文件代码示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <mat.h> void
main(){
MATFile *pmatFile = NULL;
mxArray *pMxArray = NULL;
// 读取.mat文件(例:mat文件名为"initUrban.mat",其中包含"initA")
double
*initA;
pmatFile = matOpen( "initUrban.mat" , "r" );
pMxArray = matGetVariable(pmatFile, "initA" );
initA = ( double *) mxGetData(pMxArray);
M = mxGetM(pMxArray);
N = mxGetN(pMxArray);
Matrix< double > A(M,N);
for
( int i=0; i<M; i++)
for
( int j=0; j<N; j++)
A[i][j] = initA[M*j+i];
matClose(pmatFile);
mxFree(initA);
// 生成.mat文件
double
*outA = new
double [M*N];
for
( int i=0; i<M; i++)
for
( int j=0; j<N; j++)
outA[M*j+i] = A[i][j];
pmatFile = matOpen( "A.mat" , "w" );
pMxArray = mxCreateDoubleMatrix(M, N, mxREAL);
mxSetData(pMxArray, outA);
matPutVariable(pmatFile, "A" , pMxArray);
matClose(pmatFile);
} |