如何为SLRT设置Microsoft Visual Studio 2017 ?

276次浏览(最近30天)
我如何设置与Simulink实时使用微软Visual Studio 2017 ?金宝app

接受的答案

MathWorks支金宝app持团队
编辑:MathWorks支金宝app持团队 2020年1月24日
安装Visual Studio 2017与Windows 10 SDK和vc++ 2017工具集:
1)开始正常安装你的版本的Visual Studio 2017,或者如果你已经安装了Visual Studio 2017,运行Visual Studio Installer并跳过本节的步骤(3)。
2)一旦安装Visual Studio 2017,按钮更新,启动,和汉堡包菜单将出现。
3)点击汉堡菜单,选择修改。
这将弹出“修改”对话框。
5)点击 单个组件 选项卡。
勾选Windows 10 SDK, vc++ 2017工具集(v141工具)和以下Visual Studio c++核心特性。
- Windows 10 SDK(10.0.17134.0或更早版本) sdk、库和框架
- vc++ 2017版15.8 v14.15 编译器、构建工具和运行时 最新v141工具或vc++ 2017 15.8 v14.15最新v141工具 如果给定的选项不可用)。
- Visual Studio c++核心特性 开发活动
警告: 不要安装 Windows 10 SDK (10.0.17763.0) 或以后的版本。众所周知,这将在加载应用程序时导致目标上的错误(Unable to load DLL dependency: kernel32.dll.GetFileSizeEx)。
单击 修改 按钮。
6) Visual Studio 2017现在将开始添加必要的组件到它的安装。
建立MATLAB和Simulink实金宝app时检测Visual Studio 2017编译器:
1) 如果使用R2016b或R2017a ,安装补丁,允许MATLAB和Simulink检测Visual Studio 2017编译金宝app器。所有补丁的安装顺序如下:
mex文件编译,MATLAB编译器和MATLAB编译器SDK:
金宝app仿真软件编码器:
金宝app实时仿真软件:
2)执行以下命令(注意,这将删除所有的支持包和自定义库,所以它们需要重新安装或添加回路径):金宝app
重新处理toolboxcache
3)重启MATLAB。
4)执行
墨西哥人设置
5)选择 更新Microsoft Visual c++ 2017 (C)
6)复制附加的timestwo.c文件到一个空目录,以确保您可以mex. c文件。然后,执行
墨西哥人- v timestwo.c
7)如果mex工作没有错误,你现在可以使用Simulink real与Visual Studi金宝appo 2017编译器。如果您正在使用Speedgoat库,现在可以安装它们了。确保您安装了最新的Speedgoat库。
注意:在R2016b和R2017a中,不要执行“slrtsetCC setup”来选择Visual Studio 2017作为SLRT的编译器,因为这可能会创建一个不可用的MEX设置。R2016b和R2017a只需要“mex -setup”。如果调用了"slrtsetCC setup",在命令窗口中执行" xpcpredir "命令返回的目录中删除HostEnvSettings.xml文件。
故障排除:如果在Simulink Real-Time模型中遇到构建问题,请检查是否可以使用越来越复杂的模型进行构金宝app建。例如,以
  1. 将示例'vdp'模型固定步骤并构建它(检查是否可以构建任何Simulink模型)金宝app
  2. 构建示例“xpcosc”模型(检查是否可以构建任何Simulink Real-Time模型)金宝app
  3. 构建一个Speedgoat模型示例(如果适用,检查是否可以构建任何Speedgoat模型)
  4. 最后,构建您自己的模型(检查构建问题是否与模型相关)。
这有助于缩小问题的原因。
5个评论
斯蒂芬
斯蒂芬 5 .卡特勒姆
如果您安装了多个SDK,您可以轻松地为Simulink Realtime选择一个旧的SDK。金宝app只需将所需的SDK版本添加到文件中的参数列表中 C:\Program Files\MATLAB\R2020a\toolbox\slrt\slrt\ slrt_setup_for_visual32.m
args.mexOpts.batFileArgs =“x86 10.0.16299.0”
Matlab必须在文件修改后重新启动,文件夹slprj和*_slrt_rtw必须删除一次。

登录评论。

更多的答案(4)

蒂莫西
蒂莫西 2019年12月11日
我对第五步有个问题。截至2019年12月11日,“vc++ 2017 version 15.9 v14.16”被列为“最新的v141工具”,所以我们应该选择“最新的v141工具”或“vc++ 2017 version 15.8 v14.15”选项,不管它是否被列为“最新的v141工具”。

Florian Locken
Florian Locken 2017年11月3日
你好,我按照你说的做了。如果我在Matlab的开头设置环境变量"'VCCMD_START_DIR','%cd%'",一切工作正常。第七点:前两个示例构建时没有任何问题。如果我使用一个来自speedgoat库的Simul金宝appink函数的例子,这意味着:
不能在“C: Program Files MATLAB\R2017b\toolbox\rtw\targets\xpc\target\build\xpcblocks\thirdpartydrivers\sg_blocks\can”目录下运行“rtwmakecfg”文件,因为错误:“不能解压编译器版本。数量的
引起的由:
不能提取编译器版本号
我将使用Matlab版本2017b和这个编译器:
CompilerConfiguration属性:
名称:Microsoft Visual c++ 2017 (C)
制造商:“微软”
语言:“C”
版本:“15.0”
地点:C: Program Files (x86)\Microsoft Visual Studio\2017\Community\
缩写:“MSVC150”
优先级:“B7”
细节:[1×1墨西哥人。CompilerConfigurationDetails]
LinkerName:“链接”
LinkerVersion:''
MexOpt:“C: \ \根\ AppData \漫游用户\ MathWorks \ MATLAB \ R2017b \ mex_C_win64.xml '
也许你知道如何解决这个问题。
1评论
塞巴斯蒂安。
塞巴斯蒂安。 2017年11月17日
这个错误消息是由Speedgoat库中的一个问题触发的。虽然Speedgoat会在未来的版本中修复它,但似乎有一个简单的方法来解决这个问题。
虽然在第7步上面的Note没有提到R2017b,请关闭MATLAB,尝试删除HostEnvSettings.xml文件,然后重启MATLAB,最后重新做“mex -setup”,将MATLAB指向Visual Studio。
您现在能够成功地构建您的模型吗?如果你还有什么问题,请联系 技术支持团队金宝app 并参考这个答案线程。

登录评论。


菲利普Siefkas
菲利普Siefkas 2018年3月16日
在Windows 10和VS 2017 Pro上运行ver2017b。按照上面的方向(错误修复说他们不需要2017b,所以我没有运行他们)和'mex -v timestwo.c'成功完成。但是我不能创建一个启动软盘(3.5" 1.44M)来设置我的目标计算机。它创造BOOTSECT。“创建Simulink实时引导磁盘失败。金宝app格式化并重试“我已经格式化了磁盘,并验证了它的可写且没有坏扇区。
1评论
菲利普Siefkas
菲利普Siefkas 2018年3月19日
事实证明,新的RT内核比1.44MB的软盘驱动器还要大。所以,除非你有一个2.88MB的3.5英寸软盘,否则你需要移动到不同的启动选项。我用的是4GB的u盘,看起来还不错。

登录评论。


蒂莫西
蒂莫西 2021年9月15日
我遵循了这些说明,并在2019年12月成功使用了一台Windows 10电脑。我一直试图为Simulink Real Time设置另一个主机,这些指令没有工作。金宝app结果是Windows 10 SDK没有正确安装。我相信这是由于这里所描述的同一问题( Visual Studio 2017 Installer卡在Win10SDK -如何修复(ryadel.com) ),但我可以通过卸载Windows 10 SDK来修复它,然后使用“以管理员身份运行”选项重新启动Visual Studio安装程序并重新安装它,然后按照页面上的其余说明进行安装。在过去的一两年里,安全策略可能发生了一些变化,如果您遇到了问题,请注意这些变化。
dr -启动Visual Studio安装程序时使用“以管理员身份运行”,以避免Windows 10 SDK安装时出现的潜在问题。
1评论
蒂莫西
蒂莫西 2021年9月15日
另外,为了帮助其他正在进行故障排除的人,使用'mex -v -setup'允许我跟踪这个问题,因为我可以看到一些组件被检测到,一些没有,MATLAB正在寻找它们。
如果我的建议对你不起作用,你也可以尝试从微软下载单独安装SDK ( Windows SDK archive - Windows app development (microsoft.com) ).同样,使用“以管理员身份运行”。

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!

翻译的