Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Ошибка lnk2019 при подключении к MySQL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подхватить видео-поток от устройства http://www.cyberforum.ru/cpp/thread372824.html
Хочу немного расширить область своих знаний - интересно как получать доступ через драйвер устройства или может быть без него к веб-камере???(Ну работает к примеру XP-ый MoviMaker с камерами даже...
C++ помогите найти ошибку q=abs(b+log(b-cos(b)); http://www.cyberforum.ru/cpp/thread372576.html
C++ Задача "Производители-Потребители", реализация с помощью Events и циклического буфера
Доброго времени суток. Написал программу для решения сабжевой задачи, с условиями 1 производитель, 1 потребитель. Программа работает, потоки синхронизируются, тупиков не возникает. Однако,...
альтернатива Turbo Cи для Win 7 (x64) C++
Всем привет. У меня такой вопрос: есть ли современная альтернатива Turbo С под Windows ? такая я же не большая по объему. Чтоб Visual C++ не ставить.
C++ Подскажите! http://www.cyberforum.ru/cpp/thread370891.html
Привет! Учился на программиста в универе, окончил в 2005 году. После универа ушел в 1С и писал только на 1С, другие языки не использовал. В универе изучал Pascal, C (в 2001 году), Delphi, Fortran....
C++ Программно создать Базу Данных Здравствуйте! Я пытаюсь освоить работу с базами данных через ODBC. Но совершенно неясно как программно создать базу данных через этот интерфейс. Подскажите полалуйста какой-нибудь простейший пример с... подробнее

Показать сообщение отдельно
YaMolekula
14 / 14 / 2
Регистрация: 03.02.2010
Сообщений: 142
28.10.2011, 22:52  [ТС]
Код полчился такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include "stdafx.h"
 
#define __LCC__ // Объявляем директиву без которой программа не может работать. Можно конечно поключить windows.h, но это будет не красиво
#pragma comment(lib, "libmysql.lib") // подключаем библиотеку
#pragma comment(lib,"mysqlclient.lib ")
extern "C" {
  #include <mysql.h> // Заголовочный файл с описанием функций
}
#include <stdio.h>
#include <conio.h>
 
void mysql(const char query[])
{
    MYSQL mysql; // Дескриптор соединения
    MYSQL_ROW row; // Массив полей текущей строки
    MYSQL_RES *res; // Дескриптор результирующей таблицы
    MYSQL_FIELD *field;
 
    char host[] = "localhost"; // хост
    char user[] = "admin"; // пользователь
    char passwd[] = "admin"; // пароль
    char db[] = "library"; // название базы данных
    int port = 0; //  порт. Если порт у сервера MySQL не по умолчанию (3306), то нужно указывать конкретный номер порта
 
    mysql_init(&mysql);  // Инициализация
    mysql_real_connect(&mysql, host, user, passwd, db, port, NULL, 0); // соединение
 
    if (mysql_query(&mysql, query) > 0) // запорс. Если ошибок нет, то продолжаем работу
        {
            
            // Если была ошибка, ...
            printf("%s", mysql_error(&mysql));  // ... вывдем ее
            return; // и завершим работу
        } 
 
    res = mysql_store_result(&mysql); // Берем результат,
    int num_fields = mysql_num_fields(res); // количество полей
    int num_rows = mysql_num_rows(res); // и количество строк.
 
    for (int i = 0; i < num_fields; i++) // Выводим названия полей
    {
      field = mysql_fetch_field_direct(res, i); // Получение названия текущего поля
      printf("| %s |", field->name);
    }
 
    printf("\n");
    
    for (int i = 0; i < num_rows; i++) // Вывод таблицы
    {
      row = mysql_fetch_row(res); // получаем строку
 
      for (int l = 0; l < num_fields; l++)
        printf("| %s |", row[l]); // Выводим поля
        
      printf("\n");
    }
    
    printf("Count records = %d", num_rows); // Вывод информации о количестве записей
    mysql_free_result(res); // Очищаем результаты
    mysql_close(&mysql); // Закрываем соединение
}
 
int main()
{
  mysql("SELECT * FROM t_mid_author"); // Запрос
  getch(); // Ожидаем нажатие клавиши
  return 0;
}
Ошибки возникают примерно такие же:
1>------ Построение начато: проект: tutoMySQL, Конфигурация: Debug Win32 ------
1> tutoMySQL.cpp
1>c:\cppwork\dbwork\tutomysql\tutomysql\tutomysql.cpp(44): warning C4244: инициализация: преобразование "my_ulonglong" в "int", возможна потеря данных
1>c:\cppwork\dbwork\tutomysql\tutomysql\tutomysql.cpp(72): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\conio.h(128): см. объявление "getch"
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_close@4 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_free_result@4 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_fetch_row@4 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_fetch_field_direct@8 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_num_rows@4 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_num_fields@4 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_store_result@4 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_error@4 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_query@8 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_real_connect@32 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>tutoMySQL.obj : error LNK2019: ссылка на неразрешенный внешний символ _mysql_init@4 в функции "void __cdecl mysql(char const * const)" (?mysql@@YAXQBD@Z)
1>C:\CPPWORK\DBWork\tutoMySQL\Debug\tutoMySQL.exe : fatal error LNK1120: 11 неразрешенных внешних элементов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Если поставить libmysqlclient.lib, то пишет:
1>LINK : fatal error LNK1104: не удается открыть файл "libmysqlclient.lib "

Может это связано с тем, что я использовал Express-версию?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru