Compiling a C program to read .mat files

4 Ansichten (letzte 30 Tage)
Martin
Martin am 1 Mär. 2011
Hi guys,
I've been struggling with this one for a few days now, I hope somebody can shed some light :)
I have some .mat files containing several matrices containing 3D points, and I want this data in my C program to create some nice graphics using OpenGL. My problem is that I can't seem to compile the code. I've read the documentation concerning this (http://www.mathworks.com/help/techdoc/matlab_external/f14500.html#f32276) and the matdgns.c file seems to do exactly what I want, but I can't seem to make it compile!
I'm using Ubuntu 10.10 64-bit and gcc 4.3.5 and I'm compiling with this command:
gcc -I/usr/local/matlabR2009b/extern/include -o matdgns matdgns.c -L/usr/local/matlabR2009b/bin/glnxa64 -lmat -lmx
I'm not sure if the code needs both those libraries to compile but I've tried all combinations of the two and no joy. Here is the output my compiler gives me:
matdgns.c: In function diagnose:
matdgns.c:81: warning: format %d’ expects type ‘int’, but argument 3 has type ‘mwSize’
matdgns.c:112: warning: format %d’ expects type ‘int’, but argument 3 has type ‘mwSize’
/usr/bin/ld: warning: libut.so, needed by /usr/local/matlabR2009b/bin/glnxa64/libmat.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libhdf5_hl.so.0, needed by /usr/local/matlabR2009b/bin/glnxa64/libmat.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libhdf5.so.5, needed by /usr/local/matlabR2009b/bin/glnxa64/libmat.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libmwfl.so, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicudata.so.40, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.40, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicui18n.so.40, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuio.so.40, needed by /usr/local/matlabR2009b/bin/glnxa64/libmx.so, not found (try using -rpath or -rpath-link)
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_member_type'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_array_length'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5P_CLS_FILE_CREATE_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_SHORT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_type_conv_cb'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pcreate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tcopy'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_ghash_query'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aget_space'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sget_simple_extent_dims'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Eset_auto2'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utSingleConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_strlen_lim'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utGetFormatEndian'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_strcpy'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sget_simple_extent_ndims'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aget_type'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Fcreate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_layout'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sclose'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utFinite'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utF2cstr'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Rcreate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utFlipFourBytes'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_SCHAR_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tlock'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aopen_name'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_class'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `typeinfo for MathWorks::System::InternalException'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::mem::aligned_heap::instance'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gunlink'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_nmembers'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utFree'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Acreate2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::cast(MathWorks::I18N::UnicodeConverterX*)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utTmpnam'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aclose'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_ULONG_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_deflate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_C_S1_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::InternalException::InternalException()'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18n::init__lcmgmt_init(int)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dopen2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utIsMultiByteCharSet'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_delete_ghash_table'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dget_type'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_FLOAT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `init_util_utassert(int)'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_get_message_mnemonic'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_getNextUChar_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utResetFPU'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_strlen'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dwrite'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utC2fstr'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Screate_simple'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_member_name'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_mem_add_primary_message_table'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aread'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utSNprintf'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_ghash_insert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5check_version'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utPrintf'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utTwoByteUIntConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gcreate2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetNamehashContext'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_namehash_add'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utCallRegisteredWarningCallback'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_size'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utSetLastWarningMsg'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gget_objname_by_idx'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tvlen_create'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_UCHAR_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Eget_auto2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utRealloc'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aget_name'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utRegisterSetWarningStatusCallback'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Screate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sselect_elements'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utStrdup'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utFourByteIntConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5P_CLS_DATASET_XFER_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_strncpy'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utFdlibm_ceil(double)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gopen2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf16_to_lcp_n'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::UnicodeConverterX::getThreadSpecific(char const*)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::InternalException::writeStackTrace(MathWorks::System::ObjectOutput&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dget_space'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_fromUChars_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::FromUTF16Converter::~FromUTF16Converter()'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetWarningStatus'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::FromUTF16Converter::copy_to(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utFlipEightBytes'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_array_new'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dclose'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aget_num_attrs'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_UINT64_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_sign'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_LONG_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utTwoByteIntConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetSingleEps()'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utGetFourByteInt'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::mem::create_managed_pool(unsigned long, unsigned long)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::Throwable::writeExternal(MathWorks::System::ObjectOutput&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_userblock'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pclose'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utVSNprintf'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetErrorContext'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::FromUTF16Converter::FromUTF16Converter(unsigned short const*, int, char const*)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sget_simple_extent_type'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Rget_obj_type2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetMemoryContext'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_UINT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetNaN'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utMalloc'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tinsert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_INT64_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::app::init::~init()'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gget_objinfo'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utLowerCaseCopy'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Rdereference'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sselect_hyperslab'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_INT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gclose'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_reset_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_new_ghash_table'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pget_type_conv_cb'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utSetLastPrintedWarningId'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Awrite'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Sget_simple_extent_npoints'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::mem::manager::instance()'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utCalloc'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utDoubleConvert'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5open'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dread'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utDoubleScalarRound'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_toUChars_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tcreate'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dfill'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Aopen_idx'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `ut_symtab_add'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_ghash_replace'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ucnv_fromUnicode_4_0'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Gget_num_objs'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tset_size'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::InternalException::writeLocalizedMsg(MathWorks::System::ObjectOutput&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utGetWarningManagerContext'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utSetOutOfMemoryListener'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_cleanup_protected_items'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utf8_to_utf16_n'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5P_CLS_DATASET_CREATE_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_USHORT_g'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dvlen_reclaim'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_get_message_component'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::Throwable::writeRecurseChain(MathWorks::System::ObjectOutput&) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tclose'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::System::init__objmgr_init(int)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Fopen'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Pset_chunk'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `MathWorks::I18N::FromUTF16Converter::_do_conversion(char*, int) const'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Fclose'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tget_member_offset'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_NATIVE_DOUBLE_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_array_append'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_ghash_remove_element'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_error'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utIsWarningModeOn'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Dcreate2'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_get_message'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `init_util_basic_contexts(int)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utGetRealMin'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `utPutFourByteInt'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `static_ref_okay'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `fl::app::init::init()'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `ut_array_get'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5T_STD_REF_OBJ_g'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `lcp_to_utf16_n'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utIsMultiByteLead'
/usr/local/matlabR2009b/bin/glnxa64/libmx.so: undefined reference to `utFdlibm_floor(double)'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `MathWorks::System::InternalException::~InternalException()'
/usr/local/matlabR2009b/bin/glnxa64/libmat.so: undefined reference to `H5Tequal'
collect2: ld returned 1 exit status
During my googling, I read something about libraries used by matlab's libraries for some other purpose, could that possibly be the problem? If so, where can I find them?
If not, does anyone have any ideas?
If you need some more information from me just let me know.

Akzeptierte Antwort

Jan
Jan am 1 Mär. 2011
Did you try to compile this from Matlab per MEX command?
EDITED: Did you specify the 64 bit addressing by -largeArrayDims?
  2 Kommentare
Martin
Martin am 1 Mär. 2011
I've just tried again now and this is the output I get:
> mex matdgns.c
Warning: You are using gcc version "4.3.5-3ubuntu1)". The earliest gcc version supported
with mex is "4.1". The latest version tested for use with mex is "4.2".
To download a different version of gcc, visit http://gcc.gnu.org
> ./matdgns.mexa64 data_1.mat
zsh: segmentation fault ./matdgns.mexa64 data_1.mat
Jan
Jan am 1 Mär. 2011
Do you simply ignore the warning about the compiler? Cool.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Kaustubha Govind
Kaustubha Govind am 1 Mär. 2011
As per the documentation you must compile using the options file matopts.sh, provided with MATLAB. Since this options file is written for MEX, you must first trying compiling with the -v flag, and reproduce the same options to produce a different target.
  1 Kommentar
Vikash Anand
Vikash Anand am 4 Mai 2011
Hey man, you are right.using the options file works perfectly, irrespective of gcc version.

Melden Sie sich an, um zu kommentieren.


Martin
Martin am 1 Mär. 2011
Thanks both,
The issue was that my version of gcc was not supported, I needed to use an earlier version. Always read compiler warnings - lesson learnt :)
  2 Kommentare
Vikash Anand
Vikash Anand am 4 Mai 2011
So did things work for you??? How did you install an older version of GCC ... I tried through synaptic and installed 4.3.4 but now in matlab i get another error :
/home/vikash/matlab2010/bin/mex:1372 : gcc: not found
any solution???
Kaustubha Govind
Kaustubha Govind am 4 Mai 2011
It's not clear which version of MATLAB you're using, but R2010a only supported gcc 4.2.3. R2010b does support 4.3.4 however. What do you get at the system shell when you type "gcc -v"?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Write C Functions Callable from MATLAB (MEX Files) finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by