Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2015, 00:06   #1
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию Ошибки в <mysql.h>

Здравствуйте. Поставила MySQL Server 4.1, теперь пытаюсь с ним работать в Visual Studio 2010. При комппиляции следующего кода
Код:
#include "stdafx.h"

#include <iostream>

          #include <mysql.h>
          MYSQL *connection, mysql;
          MYSQL_RES *result;
          MYSQL_ROW row;
          int query_state;

          int main()
		  {
          mysql_init(&mysql);
          //connection = mysql_real_connect(&mysql,"host","user",
          //                   "password","database",port,"unix_socket",clientflag);
          connection = mysql_real_connect(&mysql,"localhost",
                             "root","qwer","cpp_data",3306,0,0);
          if (connection == NULL) {
			 std::cout  << std::endl;
         // std::cout << mysql_error(&amp,mysql) << std::endl;
          return 1;
          }

         query_state = mysql_query(connection, "select user_count()");
          if (query_state !=0) {
          std::cout << mysql_error(connection) << std::endl;
          return 1;
          }

          result = mysql_store_result(connection);
          while (( row = mysql_fetch_row(result)) != NULL) {
          std::cout << "Number of active users : " << row[0] << std::endl;
          }

          mysql_free_result(result);
          mysql_close(connection);
		
          return 0;
          }
Выдает ошибки:
Код:
:\program files\mysql\mysql server 4.1\include\mysql_com.h(155): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "fd"
c:\program files\mysql\mysql server 4.1\include\mysql_com.h(155): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
c:\program files\mysql\mysql server 4.1\include\mysql_com.h(155): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
c:\program files\mysql\mysql server 4.1\include\mysql_com.h(299): error C2065: SOCKET: необъявленный идентификатор
c:\program files\mysql\mysql server 4.1\include\mysql_com.h(299): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "s"
c:\program files\mysql\mysql server 4.1\include\mysql_com.h(300): error C2059: синтаксическая ошибка: )
Перечитала много советов, добавила в mysql_com.h заголовочный файл #include <winsock2.h> -не помогло. Добавляла в самой программе #include <winsock.h> и #include <windows.h> выдавало ошибки:
Код:
LIBCMT.lib(invarg.obj) : error LNK2005: __set_invalid_parameter_handler уже определен в MSVCRT.lib(MSVCR100.dll)
LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson уже определен в MSVCRT.lib(MSVCR100.dll)
LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale уже определен в MSVCRT.lib(MSVCR100.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e уже определен в MSVCRT.lib(MSVCR100.dll)

LIBCMT.lib(strnicmp.obj) : error LNK2005: __strnicmp уже определен в MSVCRT.lib(MSVCR100.dll)
LIBCMT.lib(osfinfo.obj) : error LNK2005: __get_osfhandle уже определен в MSVCRT.lib(MSVCR100.dll)
LIBCMT.lib(osfinfo.obj) : error LNK2005: __open_osfhandle уже определен в MSVCRT.lib(MSVCR100.dll)
LINK : warning LNK4098: библиотека по умолчанию "MSVCRT" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library
LINK : warning LNK4098: библиотека по умолчанию "LIBCMT" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library
C:\Documents and Settings\Дом\Мои документы\Visual Studio 2010\Projects\bd1\Release\bd1.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более

Кто-то знает как можно решить такую проблему?Спасибо.
Вероника99 вне форума Ответить с цитированием
Старый 26.12.2015, 08:48   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

У вас конфликт библиотек - ваш проект собран с использованием DLL а какая-та из библиотек - без.

https://msdn.microsoft.com/en-us/lib...v=vs.100).aspx
https://msdn.microsoft.com/en-us/lib...v=vs.100).aspx
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра - викторина. Ошибки, ошибки, ошибки!.. three_cats Общие вопросы C/C++ 1 27.10.2012 21:47
обновление в блоге - Работа с MySQL в С++ с использованием библиотеки mysql++ Pblog Обсуждение статей 0 16.08.2009 16:00
Ошибки MySql Ururu SQL, базы данных 0 25.04.2009 12:45