Can't compile matcreat.cpp in linux
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Michael
le 17 Mai 2011
Modifié(e) : John Kelly
le 26 Fév 2015
I can't successfully compile the example file: matcreat.cpp (provided by mathworks.) I am running linux centOS 5.6 and am using g++ version 4.1.2. My matlab version is 2010a and I am on a 64-bit machine.
I can, however, successfully compile and run matcreat.c using gcc.
The command I use to compile is:
g++ -o ~/m matcreat.cpp -I /usr/local/matlab2010a/extern/include/ -L /usr/local/matlab2010a/bin/glnxa64/ -lmat -lmx
Here are the errors I get when using g++ to compile matcreat.cpp
/usr/local/matlab2010a/bin/glnxa64//libmx.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)@GLIBCXX_3.4.9'
/usr/local/matlab2010a/bin/glnxa64/libut.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<void const*>(void const*)@GLIBCXX_3.4.9'
/usr/local/matlab2010a/bin/glnxa64/libmwfl.so: undefined reference to `std::bad_alloc::what() const@GLIBCXX_3.4.9'
/usr/local/matlab2010a/bin/glnxa64/libmwfl.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<bool>(bool&)@GLIBCXX_3.4.9'
/usr/local/matlab2010a/bin/glnxa64//libmx.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<double>(double)@GLIBCXX_3.4.9'
/usr/local/matlab2010a/bin/glnxa64/libut.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<long>(long)@GLIBCXX_3.4.9'
/usr/local/matlab2010a/bin/glnxa64/libut.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<bool>(bool)@GLIBCXX_3.4.9'
/usr/local/matlab2010a/bin/glnxa64//libmx.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<unsigned long>(unsigned long)@GLIBCXX_3.4.9'
collect2: ld returned 1 exit status
I would like write c++ code to read and write .mat files. Thanks! -- Michael
0 commentaires
Réponse acceptée
Kaustubha Govind
le 17 Mai 2011
Modifié(e) : John Kelly
le 26 Fév 2015
Have you tried compiling using the options file as described in the documentation: Building on UNIX Operating Systems. You are likely not linking against some additional C++ libraries.
3 commentaires
Kaustubha Govind
le 17 Mai 2011
Michael: If you follow the MEX command with the -v option, you will see the exact compiler/linker commands that are needed.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!