ERROR: MATLAB R2017a cannot run RTI Connext Shapes Demo

조회 수: 2 (최근 30일)
Humza Wali
Humza Wali 2017년 9월 23일
댓글: Ibrahim Nemer 2018년 9월 24일
DDS.import('ShapeType.idl','matlab', 'f')
Warning: DDS.Utilities.getRtiPaths: Unable to obtain mex compiler info. rtiddsgen preprocessor is being disabled. To correct, run mex -setup
> In DDS.Utilities.getRtiPaths
In DDS.Utilities.convertIDLtoXML
In DDS.import
INFO com.rti.ndds.nddsgen.Main Running rtiddsgen version 2.5.0, please wait ...
INFO com.rti.ndds.nddsgen.Main Done
Error using DDS.Utilities.convertDDStoMathWorksType
DDSType: int32
Error in DDS.internal.readTypesXML.Member
Error in DDS.internal.readTypesXML.Struct
Error in DDS.internal.readTypesXML.readTypesXML/readType
Error in DDS.internal.readTypesXML.readTypesXML
Error in DDS.import
  댓글 수: 5
Humza Wali
Humza Wali 2017년 9월 23일
편집: Walter Roberson 2017년 9월 23일
Yes it's VS 2015 Professional and has C++ compiler.
I ran the command:
>> mex -setup C
MEX configured to use 'Microsoft Visual C++ 2015 (C)' for C language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. You will be required
to update your code to utilize the new API.
You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
Ibrahim Nemer
Ibrahim Nemer 2018년 9월 24일
Sorry Sir, Did you find any solution for this kind of error? It's almost same to your error.
>> DDS.import('ShapeType.idl','matlab', 'f'); INFO com.rti.ndds.nddsgen.Main Running rtiddsgen version 2.5.2, please wait ... ERROR com.rti.ndds.nddsgen.Main Fail: java.lang.Exception: Error executing

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2017년 9월 23일
You need to install a compiler suitable for your release, and run mex -setup
  댓글 수: 2
Humza Wali
Humza Wali 2017년 9월 23일
편집: Walter Roberson 2017년 9월 23일
Hi Walter! I installed a compiler on windows again but the issue wasn't resolved. Then I tried the same matlab release on Ubuntu 16.04 and I got the following error and its also related to MEX:
Error using DDS.version
Invalid MEX-file '/home/humza/Documents/MATLAB/Add-Ons/Toolboxes/DDS_Blockset/code/mexGetVersion.mexa64':
Missing symbol 'dlclose' required by
'/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddscore.so->/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddsc.so->/home/humza/Documents/MATLAB/Add-Ons/Toolboxes/DDS_Blockset/code/mexGetVersion.mexa64'
Missing symbol 'dlerror' required by
'/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddscore.so->/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddsc.so->/home/humza/Documents/MATLAB/Add-Ons/Toolboxes/DDS_Blockset/code/mexGetVersion.mexa64'
Missing symbol 'dlopen' required by
'/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddscore.so->/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddsc.so->/home/humza/Documents/MATLAB/Add-Ons/Toolboxes/DDS_Blockset/code/mexGetVersion.mexa64'
Missing symbol 'dlsym' required by
'/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddscore.so->/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddsc.so->/home/humza/Documents/MATLAB/Add-Ons/Toolboxes/DDS_Blockset/code/mexGetVersion.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_' required by
'/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddscpp.so->/home/humza/Documents/MATLAB/Add-Ons/Toolboxes/DDS_Blockset/code/mexGetVersion.mexa64'
Missing symbol '_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm' required by
'/home/humza/rti_connext_dds-5.3.0/lib/x64Linux3gcc5.4.0/libnddscpp.so->/home/humza/Documents/MATLAB/Add-Ons/Toolboxes/DDS_Blockset/code/mexGetVersion.mexa64'.
Error in DDS.Utilities.getRtiPaths
Error in DDS.Utilities.convertIDLtoXML
Error in DDS.import
Humza Wali
Humza Wali 2017년 9월 23일
편집: Walter Roberson 2017년 9월 23일
These are the compilers for matlab R2017a on ubuntu 16.04:
To choose a different language, select one from the following:
mex -setup C++
mex -setup FORTRAN
MEX configured to use 'g++' for C++ language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. You will be required
to update your code to utilize the new API.
You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
>> mex -setup FORTRAN
Error using mex
No supported compiler or SDK was found. For options, visit http://www.mathworks.com/support/compilers/R2017a/.
>> mex -setup FORTRAN
MEX configured to use 'gfortran' for FORTRAN language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. You will be required
to update your code to utilize the new API.
You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Write C Functions Callable from MATLAB (MEX Files)에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by