Здравствуйте. Поставила 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(&,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: обнаружен многократно определенный символ - один или более
Кто-то знает как можно решить такую проблему?Спасибо.