ERROR: MATLAB R2017a cannot run RTI Connext Shapes Demo

2 次查看(过去 30 天)
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