manjiang 发表于 2022-3-19 23:46:27

你好,我安装了Visual Studio 2017编译器,用matlab2018b按照视频中的模型编译DLL不成功,一直报下面错误怎么解决?
Build21 Clear
11:37 PM Elapsed: 10 sec
### Setting: classic call interface.
### Generating code and artifacts to 'Model specific' folder structure

** Visual Studio 2017 Developer Command Prompt v15.9.45
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
Environment initialized for: 'x64'
Microsoft (R) 程序维护实用工具 14.16.27045.0 版
版权所有 (C) Microsoft Corporation。保留所有权利。
DLL_Maximum_Velocity_PI_Control_2018b.mk(47) : fatal error U1035: 语法错误: 应输入“:”或“=”分隔符
Stop.
The make command returned an error of 2
'An_error_occurred_during_the_call_to_make' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Error(s) encountered while building "DLL_Maximum_Velocity_PI_Control_2018b"

autosim 发表于 2022-3-20 16:05:05

manjiang 发表于 2022-3-19 23:46
你好,我安装了Visual Studio 2017编译器,用matlab2018b按照视频中的模型编译DLL不成功,一直报下面错误怎 ...

看起来像是tlc的问题,你用的哪个版本的cruise的avl_grt.tlc?

另外VS2017在安装的时候,编译器、生成工具和运行时,选择的版本是否高于VC++ 2017 version 15.9 v14.16 latest v141 tools?

manjiang 发表于 2022-3-20 19:14:44

本帖最后由 manjiang 于 2022-3-20 19:17 编辑

autosim 发表于 2022-3-20 16:05
看起来像是tlc的问题,你用的哪个版本的cruise的avl_grt.tlc?

另外VS2017在安装的时候,编译器、生成工 ...
Visual Studio 2017+matlab2018b+CRUISE 2019.2的组合,这套组合在公司电脑DLL编译成功,个人电脑一直未成功,对比了两个Code Generation设置完全一致。另外个人电脑又安装了Matlab2015b(32位,自带lcc编译器)+cruise2015,也是没有编译成功,2015b出现下面问题
Build21 Clear
07:11 PM Elapsed: 4 sec
### Setting: classic call interface.
Code Generation1···························
ISPROTECTINGMODEL=NOTPROTECTING
DLL_Maximum_Velocity_PI_Control_2014a.mk:46: *** missing separator.Stop.
Error(s) encountered while building "DLL_Maximum_Velocity_PI_Control_2014a"
Component: Simulink | Category: Model error
开始以为是在设置中选择 Code interface,取消也不行,
不会是模型的问题吧

autosim 发表于 2022-3-20 19:55:18

manjiang 发表于 2022-3-20 19:14
Visual Studio 2017+matlab2018b+CRUISE 2019.2的组合,这套组合在公司电脑DLL编译成功,个人电脑一直未成 ...

如果下载的模型没被修改和保存过,应该不是模型问题,你可以换别的模型验证一下。

是不是你个人电脑上装了多个编译器,实际使用的不是MSVC++,而是MinGW之类的?

在matlab里运行mex -setup看一下。

manjiang 发表于 2022-3-20 22:09:03

autosim 发表于 2022-3-20 19:55
如果下载的模型没被修改和保存过,应该不是模型问题,你可以换别的模型验证一下。

是不是你个人电脑上装 ...

两个电脑之前都安装了TDM-GCC-64,mex -setup应该没问题,MinGW64 Compiler (C)和Microsoft Visual C++ 2017 (C) ,MEX 配置为使用 'Microsoft Visual C++ 2017 (C)' 以进行 C 语言编译。就是不知道64位没有编译成功最后提示那个致命错误代码:
fatal error U1035: 语法错误: 应输入“:”或“=”分隔符
    Stop.
    The make command returned an error of 2
    'An_error_occurred_during_the_call_to_make' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    Error:Error(s) encountered while building
这个代表什么意思?

autosim 发表于 2022-3-20 23:29:40

manjiang 发表于 2022-3-20 22:09
两个电脑之前都安装了TDM-GCC-64,mex -setup应该没问题,MinGW64 Compiler (C)和Microsoft Visual C++ ...

根据.tlc生成的c和makefile在自动化流程,make的时候出现了语法错误,一般是matlab版本或者.tlc文件和编译器不兼容导致的。

manjiang 发表于 2022-3-22 16:43:32

autosim 发表于 2022-3-20 23:29
根据.tlc生成的c和makefile在自动化流程,make的时候出现了语法错误,一般是matlab版本或者.tlc文件和编 ...

可能如你所说的,跟之前安装的编译器冲突有关,今天重新装系统,然后按照Visual2017+matlab2018+cruise2019重新安装,完美编译。

autosim 发表于 2022-3-22 18:39:21

manjiang 发表于 2022-3-22 16:43
可能如你所说的,跟之前安装的编译器冲突有关,今天重新装系统,然后按照Visual2017+matlab2018+cruise20 ...

解决了就好,感谢反馈~

zfwx 发表于 2022-8-16 21:28:55

视频怎么看不了了,一直卡顿

zfwx 发表于 2022-8-16 21:51:56

启用备用线路后解决啦
页: 1 2 [3] 4 5
查看完整版本: AVL Cruise & Matlab/Simulink使用DLL接口联合仿真视频教程|实例演示