Deploying Matlab for 32Bit Machines is No Longer Supported

4 ビュー (過去 30 日間)
Ricky
Ricky 2017 年 5 月 9 日
コメント済み: Vishnu Dev Amara 2019 年 7 月 31 日
This is somewhat more of an FYI than a question. However, there are a number of answers around regarding 32Bit applications that are out of date and may have people running around trying for a solution (as I just have) so I thought I'd place the info here for others to find.
I have just got off the phone from tech support regarding deploying 32bit applications from 64Bit machines and the upshot of it is:
1. The latest version of 32Bit Matlab is, and will remain, 2015b.
2. The only work around to compile 32bit applications is to install 32Bit Matlab.
3. Software written using Matlab functionality after 2015b cannot be compiled to 32Bit. No workaround, no options, no solution. 32Bit is gone.
So if you want to write 32Bit applications, use 2015b. Or, use another language. Unfortunately, changing coding environment could be my only option for my next project which is a damned shame. I love Matlab, primarily because my job is rapid development. My solutions are tested in the field, where older 32Bit machines are common, before they are re-written by others for speed and optimisation.
Disappointed to say the least.

回答 (1 件)

Jan
Jan 2017 年 5 月 9 日
Correct. This is known since TMW explained with R2015b, that this is the last 32 bit version.
I support some 32 bit systems also and using R2015b is a valuable option. For some systems, which require a reaction time < 5 seconds (the time from starting the code until the diagram output appears), I even support R2009a, which was ways faster without the powerful HG2 graphics and for many computations. Nevertheless, each time I talk with the users I tell them, that they are running a historical setup and that they have to keep in mind to install a modern hardware & software environment.
It has advantages that modern Matlab versions are provided for modern hardware only. I like this for political and technical reasons.
  2 件のコメント
Vishnu Dev Amara
Vishnu Dev Amara 2019 年 7 月 30 日
編集済み: Vishnu Dev Amara 2019 年 7 月 30 日
This sounds like an illogical decision to me from MATHWORKS. I am working with Simulink RealTime(SLRT) and trying to build Simulink S-Functions that use some external C++ external libraries. Now SLRT can only work with 32 bit C-code, but to generate 32 bit C-code I need 32 bit S-functions in 32 bit Simulink as well as 32 bit .mex files. If I try to do all this with 64 bit libraries and 64 bit Simulink, I receive this error in the Simulink coder :
fatal error LNK1112: module machine type 'x86 conflicts with target machine type 'x64'
However, 32 bit Simulink/MATLAB is not available after 2015b but Simulink Realtime (2017b and everything else) can only work with 32 bit C code. This is seemingly unjustifiable, what is the solution in this situation ?
Vishnu Dev Amara
Vishnu Dev Amara 2019 年 7 月 31 日
So, I figured how to overcome the above mentioned issue, the trick is to generate .obj files for both x64 and x86 configuration. While building the S-function using the legacy code tool, one must use the x64 bit .obj files while when one is building the Simulink Model for SLRT code generation, you are supposed to provide the x86 .obj files in the Configuration Parameters > Custom Code > Libraries . This sounds ridiculous but this is what worked for me.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by