32位和64位编译

14次浏览(过去30天)
Harel Primack
Harel Primack 2013年3月17日
回答: shamsudheen p2021年5月16日
你好,
我试图使用matlab 2013a进行32位和64位编译(使用matlab编译器)。
问题是运行“mbuild -setup”在我的应用程序数据文件夹中创建“compopts.bat”文件:“…\AppData\Roaming\MathWorks\MATLAB\R2013a\compopts.bat”。不幸的是,32位和64位版本的文件不同且不兼容。
有什么简单的解决方法吗?我不想每次启动matlab都运行mbuild。
谢谢,Silviu。

答案(3)

马克Mikofski
马克Mikofski 2014年5月29日
我刚刚注意到R2014a在AppData\Roaming\MathWorks\MATLAB\R2014a中不再对两个目标使用相同的compopt .bat或mexopt .bat,而是现在有单独的xml文件用于32位和64位文件
mex_C_win32.xml
mex_C_win64.xml
MBUILD_C_win32.xml
MBUILD_C_win64.xml
耶!感谢TMW听取我们的意见并做出有益的回应!我在任何地方或发布说明中都找不到它的文档,但这是一个微小的改进。
4评论
约翰
约翰 2015年2月11日
我完全同意@Image Analyst的观点,编译32位和64位版本的需求是非常可取的

登录评论。


图像分析
图像分析 2013年3月17日
我觉得没有别的办法了。最近没有检查过,但一段时间前他们告诉我,每次我想切换到不同版本(32或64)的MATLAB编译时,我都必须运行mbuild -setup。
也许有个变通办法。我要做的就是有一个叫做compile的文件。我在那里放了一堆代码来编译项目文件夹中的m文件,并为该文件设置我想要的任何选项。在这里,您可以确定MATLAB的版本,然后复制compopts.bat文件的适当版本。还没试过,但值得一试。
howManyMATLABbits = str2double(howManyMATLABbits(4:5));
file32 =“…\ AppData \漫游\ MathWorks \ MATLAB \ R2013a \ compopts32.bat '
file64 =“…\ AppData \漫游\ MathWorks \ MATLAB \ R2013a \ compopts64.bat '
fileMaster =“…\ AppData \漫游\ MathWorks \ MATLAB \ R2013a \ compopts.bat '
如果howManyMATLABbits == 32
拷贝文件(file32 fileMaster);
其他的
拷贝文件(file64 fileMaster);
结束
2的评论
Silviu Zilberman
Silviu Zilberman 2013年3月18日
忘了说我没有howManyMATLABbits函数。我用的是
平台=计算机();
其中Platform='PCWIN'为32位,Platform='PCWIN64'为64位。
再次感谢你,西尔维。

登录评论。


shamsudheen p
shamsudheen p 2021年5月16日
我得到的错误消息为“问题创建加速器MEX文件的模型” PVarray_Grid_IncCondReg_det 在模拟100kw并网光伏阵列使用时 MATLAB 2013 Windows 10(32位)。
当我运行mex -setup时,它给出的输出为
选择一个编译器:
[1] lcc - win32c 2.4.1 in C:\PROGRA~1\MATLAB\R2013a\sys\lcc
[0]没有
即使我选择了第一个,错误仍然存在。请帮我解决这个问题

类别

了解更多MATLAB编译器帮助中心而且文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!