Mysql++ "неопределенная ссылка на __imp___ZN7mysqlpp10ConnectionC1Eb"

Я пытаюсь установить mysql++ в Code::Blocks, но когда я пытаюсь запустить пример кода, я получаю эту ошибку:

undefined reference to __imp___ZN7mysqlpp10ConnectionC1Eb

Что я делаю не так?

2 ответа

Решение

Вы должны собрать MySQL++ с теми же параметрами компилятора и компилятора, которые вы используете для сборки своей программы. То, что вы видите, - искажение имени и / или несовпадение ABI из-за смешивания компиляторов и / или опций сборки. Это может быть что угодно: от серьезной ошибки, такой как попытка использования DLL-библиотеки Visual C++ с MinGW, до чего-то более тонкого, например, попытка использовать DLL-библиотеку MinGW, созданную с помощью g ++ 3.4.5, в программе, которую вы создаете с помощью MinGW g ++ 4.4.

В отличие от C, C++ не пытается сохранить двоичную совместимость между очень разными компиляторами.

Возможно, у вас есть проблема с компоновщиком. Вполне может быть, что нужной вам DLL нет, или mysql++ скомпилирован, но неправильно связан.

Другие вопросы по тегам