Невозможно связаться с библиотеками MySQL для C ++ - PullRequest
0 голосов
/ 29 июля 2011

Я пытался использовать MySQL и C ++ вместе, но не могу начать, потому что я не могу использовать соответствующие библиотеки.

Я нахожусь на Win7 с использованием компилятора MinGW и работаю вNetbeans.У меня есть код:

#include <cstdlib>
#include <iostream>
#include <my_global.h>
#include <mysql.h>

using namespace std;

int main(int argc, char **argv)
{
  cout << "MySQL client version: " <<  mysql_get_client_info();
}

Но NetBeans не может найти my_global.h или mysql.h.В свойствах проекта я ссылаюсь на библиотеку libmysql.dll.В том же каталоге также присутствует файл mysqlclient.lib, но я не могу найти ссылку на него, так как компоновщик NetBeans, похоже, не регистрирует этот тип расширения.

Любая помощь будет принята с благодарностью.

C

--- PROGRESS Я зашел в раздел свойств-> Build-> C ++ NetBeans и добавил каталог include для моей установки MySQL в раздел «Включить каталоги».Это решило вышеуказанную проблему - не найти my_global.h или mysql.h, но теперь он не может найти crtdbg.h ...

На самом деле имел crtdbg.h в старой установке Visual Studio, переместил его и вседругие .h файлы там в моей папке MinGW.Кажется, теперь находит .hs, но терпит неудачу с множеством ошибок, вероятно, проблема с файлами .h Visual Studio, несовместимыми с MinGW.Вернуться к чертежной доске.

Ответы [ 2 ]

1 голос
/ 29 июля 2011

Установите каталоги включения, приятель.Это под Tools->Options->C++->Code Assistance.Добавьте путь, где my_global.h.

Смотрите сообщение на форуме .

0 голосов
/ 29 июля 2011

Я не уверен в Windows, но в Linux вы можете использовать инструмент mysql_config, чтобы получить правильные флаги для компиляции клиентского приложения:

Для компиляции:

$ mysql_config --cflags
-I/usr/include/mysql  -DBIG_JOINS=1  -fno-strict-aliasing   -DUNIV_LINUX -DUNIV_LINUX

А для связывания:

$ mysql_config --libs
-Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient

Теперь, если вы используете MinGW, параметры должны быть похожими, вероятно, отбрасывая * _LINUX.

Моя ставка в том, что вы просто пропускаете бит -I .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...