Статическое связывание MySQL в C / C ++ - PullRequest
3 голосов
/ 02 ноября 2011

Я пытаюсь разработать приложение, которое использует MySQL, используя C ++.Я скачал библиотеку с их сайта и попытался скомпилировать следующий код:

#include <iostream>
#include <windows.h>
#include <mysql.h>
using namespace std;
int main()
{
    MYSQL *connection, mysql;
    MYSQL_RES *result;
    MYSQL_ROW row;
    mysql_init(&mysql);
}

Строка с mysql_init(&mysql); дает мне ошибку компиляции

undefined reference to `mysql_init@4'

Я предполагаюэто связано с ошибкой библиотеки.Я связываю mysqlclient.lib и libmysql.lib в этом порядке.Что мне нужно сделать, чтобы сделать эту компиляцию без файла DLL?Это возможно?Спасибо.Примечание. Я использую mingw32 в Windows 7 x64 для разработки приложения для Windows.

1 Ответ

4 голосов
/ 02 ноября 2011

Может быть, эта ссылка поможет. В нем говорится, что mysqlclient.lib является статической библиотекой, а libmysql.lib - динамической библиотекой, поэтому я не думаю, что вы должны связывать обе.

http://dev.mysql.com/doc/refman/5.0/en/building-clients.html

...