Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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



Ответ
 
Опции темы
Старый 26.12.2015, 01:06   #1
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 368
Репутация: 102
По умолчанию Ошибки в <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, 09:48   #2
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 4,574
Репутация: 1397
По умолчанию

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

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра - викторина. Ошибки, ошибки, ошибки!.. 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




23:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
таргетированный трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru