32bit and 64bit compilations

17 visualizaciones (últimos 30 días)
Harel Primack
Harel Primack el 17 de Mzo. de 2013
Respondida: shamsudheen p el 16 de Mayo de 2021
Hi All,
I am trying to use matlab 2013a for making 32 bit and 64 bit compilations (with the matlab compiler).
The problem is that running "mbuild -setup" creates "compopts.bat" file in my application data folder: "...\AppData\Roaming\MathWorks\MATLAB\R2013a\compopts.bat". Unfortunately, the files are different and incompatible for the 32 and 64 bit versions.
Any simple way around it? I wouldn't like to run mbuild every time I start matlab.
Thanks, Silviu.

Respuestas (3)

Mark Mikofski
Mark Mikofski el 29 de Mayo de 2014
I've just noticed that R2014a no longer uses the same compopts.bat or mexopts.bat for both targets in AppData\Roaming\MathWorks\MATLAB\R2014a but instead now has separate xml files for 32-bit and 64-bit files called
mex_C_win32.xml
mex_C_win64.xml
MBUILD_C_win32.xml
MBUILD_C_win64.xml
Yay! Thanks TMW for hearing us and responding helpfully! I couldn't find it documented anywhere or in the release notes, but this is a nice if tiny improvement.
  4 comentarios
Ken Atwell
Ken Atwell el 30 de Mayo de 2014
@Image Analyst, we'll keep this in mind, but honestly I think it is unlikely we'd invest in this, as support for the 32-bit version of MATLAB is beginning to wind down (no definite sunset timeline has been set, but it will happen some time in the next few years).
John
John el 11 de Feb. de 2015
I definitely agree with @Image Analyst, the need for compiling both 32 bit and 64 bit versions would be highly desireable

Iniciar sesión para comentar.


Image Analyst
Image Analyst el 17 de Mzo. de 2013
I don't think there's a way around this. Haven't checked lately but a while ago they told me that I had to run mbuild -setup every time I want to switch compiling to a different version (32 or 64) of MATLAB.
Well there might be a workaround. What I do is have a file called compile.m and in there I put a bunch of code to compile the m-file in that project folder with whatever options I want for that file. In there you could determine the version of MATLAB, and then copy over the proper version of the compopts.bat file. Haven't tried it but could be worth a shot.
howManyMATLABbits = str2double(howManyMATLABbits(4:5));
file32 = '...\AppData\Roaming\MathWorks\MATLAB\R2013a\compopts32.bat'
file64 = '...\AppData\Roaming\MathWorks\MATLAB\R2013a\compopts64.bat'
fileMaster = '...\AppData\Roaming\MathWorks\MATLAB\R2013a\compopts.bat'
if howManyMATLABbits == 32
copyfile(file32, fileMaster);
else
copyfile(file64, fileMaster);
end
  2 comentarios
Silviu Zilberman
Silviu Zilberman el 18 de Mzo. de 2013
Thanks Image Analyst, your idea works very well.
Silviu Zilberman
Silviu Zilberman el 18 de Mzo. de 2013
Forgot to mention that I don't have the function howManyMATLABbits. I used instead
Platform = computer();
where Platform='PCWIN' for 32bit and Platform='PCWIN64' for 64 bit.
Thanks again, Silviu.

Iniciar sesión para comentar.


shamsudheen p
shamsudheen p el 16 de Mayo de 2021
I am getting the error message as 'Problem creating Accelerator MEX file for model 'PVarray_Grid_IncCondReg_det' during the simulation of 100-kW Grid-Connected PV Array using MATLAB 2013a on windows 10(32bit).
When i run mex -setup it gave the output as
Select a compiler:
[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2013a\sys\lcc
[0] None
Even I selected the first one the error persists. Please help me to solve the issue

Categorías

Más información sobre MATLAB Compiler en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by