一、前言
Truetime的安装是为了完成课程相关需求,但在安装过程中遇到一些问题,想到自己之前注册了博客所以打算把这个作为第一篇的内容。请放心这个的安装过程并不困难,可以放心食用。
二、准备
- Truetime 2.0 http://www.control.lth.se/research/tools-and-software/truetime/
- matlab (version >= 7.0)
- visual studio
注:Visual Studio版本需要使用Matlab支持版本,可以通过(https://ww2.mathworks.cn/support/requirements/previous-releases.html)查看自己的Matlab版本支持的c/c++编译器版本,然后下载安装即可,注意truetime只能用visual studio编译。
比如我的matlab版本是2015b,点击Support Compilers下的对应链接,在pdf中找到"For MEXfile..."的项下有对号的是支持的compiler:
可以看到Matlab2015b支持VS2015-VC2008之间的版本。
三、安装过程
假设Matlab的安装路径为${MATLABPATH} (eg: C:\Program Files\MATLAB\R2015b),如果为了图方便可以把这个作为环境变量
Step1:将TrueTime压缩包解压到matlab安装包下的toolbox文件夹下,即 ${MATLABPATH}\toolbox 中
Step2:添加环境变量TTKERNEL,值为 ${MATLABPATH}\toolbox\truetime-2.0\kernel(注意:如果没有设置环境变量MATLABPATH的话需要用绝对路径)
如果设置的变量为用户变量则需要重启计算机,如果为系统变量则直接使用
Step3:以管理员方式打开Matlab,将TrueTime添加到Matlab路径中
添加路径:
${MATLABPATH}\toolbox\truetime-2.0\kernel ${MATLABPATH}\toolbox\truetime-2.0\kernel\matlab ${MATLABPATH}\toolbox\truetime-2.0\kernel\matlab\help
保存关闭即可,可以选择添加这三个文件夹,当然图方便也可以直接选择添加并包含子文件夹。
Step4:设置Matlab路径为 ${MATLABPATH}\toolbox\local ,打开 ${MATLABPATH}\toolbox\local\startupsav.m ,在文件头添加并保存:
addpath(getenv(\'TTKERNEL\')) init_truetime;
(如果无法保存说明没有用管理员模式打开)
Step5:打开 ${MATLABPATH}\toolbox\local\matlabrc.m ,用Save WorkSpace保存为matlab.mat
Step6:将 ${MATLABPATH}\toolbox\truetime\kernel 文件夹下的init_truetime.m文件拷到matlab安装目录下的toolbox下local文件夹中,注意是kernel文件夹下的init_truetime.m,然后在复制的init_truetime.m末尾添加代码
addpath(getenv(\'TTKERNEL\'))
Step7:在matlab命令行输入下面,选择自己的编译器
mex -setup c++
我的结果如下所示,直接点击即可或输入提示命令,显示配置完成即可。
Step8:执行编译脚本开始编译
make_truetime
最终得到Successful证明你成功了,可以直接到第五部分执行例程
如果不那么幸运的话我们会得到这样的结果 Compilation using MEX failed! (Run \'\'mex -setup C++\'\' to configure your C++ compiler)
我们可以这样做,首先在matlab命令行输入:
open make_truetime
在脚本中我们用‘%’注释掉异常处理代码try...catch...end,保存后再次执行make_truetime,就会显示运行中出现的真实错误,根据提示处理问题。
四、处理问题
1. 找不到stdin.h,找不到UINT32_C
将 ${MATLABPATH}\toolbox\truetime-2.0\kernel\include_msc 中的.h文件复制到 ${MATLABPATH}\extern\include,我们打开复制过去的stdint.h,找到INT32_C,然后将它的宏条件注释掉:
2. 找不到make_truetime
没能把truetime的路径添加到matlab中
3. 路径错误
环境变量TTKERNEL配置出错
4. 找不到SDK
没有安装matlab相应版本的visual studio
5. 无法打开XXX.mexw64
编译过程中出错,可以删除truetime文件夹,然后将新的truetime文件夹放到toolbox中
......其他问题可以留言学习
五、执行例程
设置matlab路径为truetime下的example中选择的例程路径,打开模型文件然后运行测试即可。
六、总结
本来打算随便写一点,结果发现自己对很多步骤都遗忘了,看来以后做实验之类的还是需要用录屏方法记录,写这种文章可能没什么价值但是如果能够帮到你那是我的荣幸,仅此而已。
如果有更好的方法或有问题,欢迎留言交流,祝好。