VS2019运行MATLAB Compiler SDK C示例提示缺失mclmcrrt9_10.dll如何解决
解决方案
找不到mclmcrrt9_10.dll但文件实际存在的问题,几乎都是环境变量加载、路径配置、编译架构不匹配导致的,按以下顺序排查即可:
- 强制刷新环境变量
修改系统Path后,所有已打开的VS、终端、资源管理器进程都不会读取新的环境变量配置。请完全关闭VS2019(在任务管理器确认无残留devenv.exe进程),如果修改的是系统级Path,直接重启电脑是最稳妥的方式。 - 验证Path配置有效性
你的MATLAB安装路径包含空格(matlab trial),很容易出现路径识别错误:- 打开修改Path后新启动的CMD窗口,执行命令
where mclmcrrt9_10.dll - 如果命令返回
D:\matlab trial\v910\runtime\win64\mclmcrrt9_10.dll,说明环境变量配置生效;如果返回找不到文件,说明Path里的条目有误,删除原有条目重新添加,不要给路径手动加引号,不要和其他路径拼接在同一行,单独作为Path的一个独立项存在。
- 打开修改Path后新启动的CMD窗口,执行命令
- 配置VS调试环境绕开系统Path限制
VS调试启动程序时,默认的dll搜索顺序不会完全继承系统Path,直接在项目属性中指定搜索路径可以彻底避免这类问题:
右键项目 -> 「属性」-> 「配置属性」-> 「调试」-> 「环境」,添加如下配置:
该配置会在程序启动时把MATLAB Runtime路径、自定义共享库路径加到搜索优先级最高的位置,不会被其他版本MATLAB的路径干扰。PATH=D:\matlab trial\v910\runtime\win64;D:\matlab trial\librarytrial;%PATH% - 确认编译架构匹配
检查VS项目的编译平台,必须选择x64,不能选x86/Win32:
你安装的是64位版本的MATLAB Runtime,32位程序无法加载64位dll,这种场景下系统不会提示架构不兼容,只会统一报“找不到dll”的错误。 - 清理冗余配置避免冲突
你当前的项目配置有两处冗余,可能引发路径识别异常:- 删除链接器->附加库目录里的
D:\matlab trial\v910\bin\win64条目,链接阶段不需要引用这个路径 - 链接器->输入里不需要引入runtime文件夹下的全部lib文件,仅保留
mclmcrrt.lib和你自己生成的libmatrix.lib即可,多余的lib引入可能导致链接或加载冲突。
- 删除链接器->附加库目录里的
完成以上操作后重新生成项目,即可正常启动程序。
内容的提问来源于stack exchange,提问作者S2022
相关产品推荐
相关产品推荐

