#c #mysql
#c #mysql
Вопрос:
Всякий раз, когда я пытаюсь создать программу на c с подключением к mysql.. я получаю следующую ошибку
g -o dist/Debug/GNU-Linux-x86/mysqltest build/Debug/GNU-Linux-x86/main.o
-L/usr/local/lib/lib -L/usr/lib -lmysqlclient_r -lmysqlcppconn
/usr/lib/libmysqlcppconn-static.a
/usr/local/lib/lib/libmysqlcppconn.so: undefined reference to
`vtable for std::basic_streambuf<char, std::char_traits<char> >@GLIBCPP_3.2'
/usr/local/lib/lib/libmysqlcppconn.so: undefined reference to
`std::basic_ios<char, std::char_traits<char> >::~basic_ios()@GLIBCPP_3.2'
/usr/local/lib/lib/libmysqlcppconn.so: undefined reference to
`std::ios_base::ios_base()@GLIBCPP_3.2'
/usr/local/lib/lib/libmysqlcppconn.so: undefined reference to
`std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)@GLIBCPP_3.2'
make[2]: Leaving directory `/home/prasanth/NetBeansProjects/mysqltest'
/usr/local/lib/lib/libmysqlcppconn.so: undefined reference to
`std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const@GLIBCPP_3.2'
make[1]: Leaving directory `/home/prasanth/NetBeansProjects/mysqltest'
/usr/local/lib/lib/libmysqlcppconn.so: undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::basic_string<char, std::char_traits<char>, std::allocator<char> > constamp;) const@GLIBCPP_3.2'
/usr/local/lib/lib/libmysqlcppconn.so: undefined reference to
`vtable for std::bad_alloc@GLIBCPP_3.2'
После тщательного поиска я обнаружил, что существует некоторая проблема между компилятором libstdc 6 и g 4.4.5
Кто-нибудь, пожалуйста, может рассказать, как решить эту проблему
Ответ №1:
Похоже, что GLIBCPP_3.2 ссылается на libstdc 5, а не на libstdc 6.
Очевидно, что библиотека MySQL скомпилирована с более ранней версией компилятора. Возможно, вы можете найти обновленную версию?