本文探讨了在使用MATLAB进行程序开发时遇到的编译器缺失和DLL编译失败两大常见问题,并提供了解决方案。
在使用MATLAB 2012b与Windows版Visual Studio 2012编译器关联的过程中遇到问题,特别是无法成功编译dll文件的情况,通常是因为默认的编译器目录配置不正确所致。这包括了include和lib路径设置错误的问题。如果您的VS安装位置不是标准的位置、使用的是32位Windows系统或使用的VS版本非2012版,则可能需要手动调整mbuild及mex的相关环境变量。
具体的解决方法如下:
对于mbuild(用于编译exe文件):
- 将提供的4个相关配置文件放置到MATLAB安装目录下的`bin/win64`子目录中。
- 在Matlab命令行执行 `mbuild -setup`, 按照提示选择Visual Studio 2012的项目,然后确认设置。
对于mex(用于编译dll):
如果已有资源处理了mbuild配置但未涉及mex,请修改`mexopts\msvc110opts.bat`文件中的30和31行代码为如下内容:
```
set INCLUDE=%VCINSTALLDIR%\INCLUDE;%VCINSTALLDIR%\ATLMFC\INCLUDE;%LINKERDIR%\include\um;%LINKERDIR%\include\shared;%LINKERDIR%\include\WinRT;%INCLUDE%
set LIB=%VCINSTALLDIR%\LIB\amd64;%VCINSTALLDIR%\ATLMFC\LIB\amd64;%LINKERDIR%\lib\win8\um\x64;%MATLAB%\extern\lib\win64;%LIB%
```
然后,在Matlab命令行执行 `mex -setup`, 按照提示选择Visual Studio 2012的项目,确认设置。
通过上述步骤调整环境变量后,mbuild和mex应能够正确配置并开始正常使用。