一、前言

  Truetime的安装是为了完成课程相关需求,但在安装过程中遇到一些问题,想到自己之前注册了博客所以打算把这个作为第一篇的内容。请放心这个的安装过程并不困难,可以放心食用。

二、准备

  1. Truetime 2.0    http://www.control.lth.se/research/tools-and-software/truetime/
  2. matlab             (version >= 7.0)
  3. 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中选择的例程路径,打开模型文件然后运行测试即可。

六、总结

  本来打算随便写一点,结果发现自己对很多步骤都遗忘了,看来以后做实验之类的还是需要用录屏方法记录,写这种文章可能没什么价值但是如果能够帮到你那是我的荣幸,仅此而已。

  如果有更好的方法或有问题,欢迎留言交流,祝好。

TrueTime的安装、运行例程的更多相关文章

  1. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

  2. 您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法

    转自:http://www.xuebuyuan.com/1549022.html 这已经是一个老掉牙的问题了,部分人使用自己的服务器安装WordPress程序之后,会出现“您的 PHP 似乎没有安装运 ...

  3. Android中插件开发篇之----动态加载Activity(免安装运行程序)

    一.前言 又到周末了,时间过的很快,今天我们来看一下Android中插件开发篇的最后一篇文章的内容:动态加载Activity(免安装运行程序),在上一篇文章中说道了,如何动态加载资源(应用换肤原理解析 ...

  4. 用JSON-server模拟REST API(一) 安装运行

    用JSON-server模拟REST API(一) 安装运行 在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要 ...

  5. Mac 下安装运行Rocket.chat

    最近花了一周的时间,复习了HTML.CSS.原生JS,并学习了Node.js.CoffeeScript.js.MongoDB,入了下门. 因为准备在Rocket.chat 上做二次开发,所以先下载和安 ...

  6. 在Linux上rpm安装运行Redis 3.0.4

    http://www.rpmfind.net搜索redis,找到redis3.0.4的rpm源选做 wget ftp://fr2.rpmfind.net/linux/remi/enterprise/6 ...

  7. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  8. Activity工作流(2)-入门安装运行第一个例子

    转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432   版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  9. Phonegap项目创建 编译 安装 运行

    一.创建 Phonegap项目 1. cd workspace 2.创建phonegap项目 cordova create 目录 识别符 显示名 例如:cordova create hello com ...

随机推荐

  1. 面试官:关于Java性能优化,你有什么技巧

    通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化. 一般有两种方案:即优化代码或更改设计方法.我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性 ...

  2. k8s 随记

    1.kubelet参数解析:https://blog.csdn.net/qq_34857250/article/details/84995381 2.如何在github中查找k8s代码关键字? 现在我 ...

  3. dom4j的测试例子和源码详解(重点对比和DOM、SAX的区别)

    目录 简介 DOM.SAX.JAXP和DOM4J xerces解释器 SAX DOM JAXP DOM解析器 获取SAX解析器 DOM4j 项目环境 工程环境 创建项目 引入依赖 使用例子--生成xm ...

  4. 2019-9-20:渗透测试,基础学习,phpstudy搭建Wordpress,Burpsuite抓取WorePress cms的post包

    一.搭建WordPress的cms网站管理系统 1,下载Wordpress cms源码,下载地址:https://wordpress.org/download/ 2,将源码解压到phpstudy目录下 ...

  5. Stream系列(一)Filter方法使用

    Filter 是过滤器,也可以当查询方法使用 EmployeeTestCase.java package com.example.demo; import lombok.extern.log4j.Lo ...

  6. day20 异常处理

    异常处理: 一.语法错误 二.逻辑错误 为什么要进行异常处理? python解释器执行程序时,检测到一个错误,出发异常,异常没有被处理的话,程序就在当前异常处终止,后面的代码不会运行 l = ['lo ...

  7. mysql的事物,外键,与常用引擎

    ### part1 时间类型 date YYYY-MM-DD 年月日 (出现日期) time HH:MM:SS 时分秒 (竞赛时间) year YYYY 年份值 (红酒年份 82年矿泉水) datet ...

  8. CCNA 之 十一 NAT 子网地址转换

    NAT 网络地址转换 全称:Network Address Translation 为什么需要NAT? 因为公网IP(IPv4)地址紧缺,内容地址通过NAT转换成一个公有地址去访问公网资源: 如下图展 ...

  9. Idea工具Debug快捷键

    F9 resume programe 恢复程序 Alt+F10 show execution point 显示执行断点 F8 Step Over 相当于eclipse的f6 跳到下一步 F7 Step ...

  10. Oracle SCN 详解

    一.简介 scn,system change number 在某个时间点定义数据库已提交版本的时间戳标记,Oracle为每个已提交事务分配一个唯一的scn,scn值是对数据库进行更改的逻辑时间点.sc ...