Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > vc++ 2010 Express и MySQL


Автор: gromo 27.8.2012, 19:04
Всем привет!
Пытаюсь написать программу, работающую с MySQL.
Первым делом попытался набросать самый простой код:
Код

#include "stdafx.h"
#include <winsock.h>
#pragma comment (lib, "Mswsock.lib") 
#if defined(_WIN32) || defined(_WIN64)
#include <windows.h>
#endif
#include <wininet.h>
#pragma comment(lib,"wininet")
#include <mysql.h>
#include <stdlib.h>
#include <fstream>
using namespace std;

MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;

void die(void)
{
   printf("%sn", mysql_error(&mysql));     
}

int _tmain(int argc, _TCHAR* argv[])
{
    unsigned int i = 0;
    if (!mysql_init (&mysql)){
            die();//Подключение не удалось
        }

        mysql_free_result(res);
        mysql_close(&mysql);

    return 0;
}

После запуска проекта, ошибок не выдаёт, но окно приложения так и не поялется. Процесс тутже прерывается.
На breakpoint-ы не реагирует.
Текст лога прилагаю:
Код

Build started 27.08.2012 19:08:45.
     1>Project "C:\Users\путь\documents\visual studio 2010\Projects\MySQLProject\MySQLProject\MySQLProject.vcxproj" on node 2 (build target(s)).
     1>InitializeBuildStatus:
         Creating "Debug\MySQLProject.unsuccessfulbuild" because "AlwaysCreate" was specified.
       ClCompile:
         All outputs are up-to-date.
         c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /I"C:\mysql-connector-c++_win32\include" /I"C:\Program Files (x86)\MySQL\MySQL Server 5.5\include" /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /D CPPCONN_PUBLIC_FUNC /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"StdAfx.h" /Fp"Debug\MySQLProject.pch" /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt stdafx.cpp
         stdafx.cpp
         c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /I"C:\mysql-connector-c++_win32\include" /I"C:\Program Files (x86)\MySQL\MySQL Server 5.5\include" /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /D CPPCONN_PUBLIC_FUNC /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yu"StdAfx.h" /Fp"Debug\MySQLProject.pch" /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt "MySQLProject.cpp"
         MySQLProject.cpp
     1>c:\users\путь\documents\visual studio 2010\projects\MySQLProject\MySQLProject\MySQLProject.cpp(109): warning C4101: 'res' : unreferenced local variable
     1>c:\users\путь\documents\visual studio 2010\projects\MySQLProject\MySQLProject\MySQLProject.cpp(110): warning C4101: 'row' : unreferenced local variable
       ManifestResourceCompile:
         All outputs are up-to-date.
       Link:
         c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\путь\documents\visual studio 2010\Projects\MySQLProject\Debug\MySQLProject.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:\mysql-connector-c++_win32\lib" /LIBPATH:"C:\Users\путь\Documents\Visual Studio 2010\Projects\MySQLProject\MySQLProject\Debug" /LIBPATH:"C:\Users\путь\Documents\Visual Studio 2010\Projects\MySQLProject\MySQLProject\Release" /LIBPATH:"C:\Program Files (x86)\MySQL\MySQL Server 5.5\lib" "mysqlcppconn-static.lib" libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Debug\MySQLProject.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\путь\documents\visual studio 2010\Projects\MySQLProject\Debug\MySQLProject.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\путь\documents\visual studio 2010\Projects\MySQLProject\Debug\MySQLProject.lib" /MACHINE:X86 "Debug\MySQLProject.exe.embed.manifest.res"
         "Debug\MySQLProject.obj"
         Debug\stdafx.obj
         "..\..\..\..\..\..\путь\Documents\Visual Studio 2010\Projects\MySQLProject\MySQLProject\libmysql.lib"
       Manifest:
         C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /out:"Debug\MySQLProject.exe.embed.manifest" /manifest "Debug\MySQLProject.exe.intermediate.manifest"
         All outputs are up-to-date.
       LinkEmbedManifest:
         All outputs are up-to-date.
         MySQLProject.vcxproj -> C:\Users\путь\documents\visual studio 2010\Projects\MySQLProject\Debug\MySQLProject.exe
       FinalizeBuildStatus:
         Deleting file "Debug\MySQLProject.unsuccessfulbuild".
         Touching "Debug\MySQLProject.lastbuildstate".
     1>Done Building Project "C:\Users\путь\documents\visual studio 2010\Projects\MySQLProject\MySQLProject\MySQLProject.vcxproj" (build target(s)).

Build succeeded.

Time Elapsed 00:00:02.24


Если закоментировать эту часть кода:
Код

if (!mysql_init (&mysql)){
            die();//Подключение не удалось
        }

        mysql_free_result(res);
        mysql_close(&mysql);

то всё происходит также, как и должно быть, срабатывает breakpoint на строке "return 0;".

Кто знает в чём проблема?
Подскажите, пожалуйста, как решить

Автор: xvr 27.8.2012, 19:13
Попытки что либо запустить в логах не замечено - чистый билд. 
Дайте логи от запуска

Автор: gromo 27.8.2012, 19:19
Цитата(xvr @  27.8.2012,  19:13 Найти цитируемый пост)
Попытки что либо запустить в логах не замечено - чистый билд. 
Дайте логи от запуска

это именно тот лог, который получается при запуске Build (F7)

есть ещё какой-то?

P.S. Единственное, что есть ещё этот, который в Output:
Код

1>------ Rebuild All started: Project: MySQLProject, Configuration: Debug Win32 ------
1>  stdafx.cpp
1>  MySQLProject.cpp
1>c:\users\путь\documents\visual studio 2010\projects\MySQLProject\MySQLProject\MySQLProject.cpp(109): warning C4101: 'res' : unreferenced local variable
1>c:\users\путь\documents\visual studio 2010\projects\MySQLProject\MySQLProject\MySQLProject.cpp(110): warning C4101: 'row' : unreferenced local variable
1>  MySQLProject.vcxproj -> C:\Users\путь\Documents\Visual Studio 2010\Projects\MySQLProject\Debug\MySQLProject.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

Автор: xvr 27.8.2012, 19:27
Цитата(gromo @  27.8.2012,  19:19 Найти цитируемый пост)
это именно тот лог, который получается при запуске Build (F7)

Угу, а нужен не Build, в Run (F5)

Автор: gromo 27.8.2012, 19:30
а его я какраз и не вижу(
он же в папке Debug/Relese должен быть?!

Автор: xvr 27.8.2012, 19:36
А вы F5 нажимали? Если да, то что то должно было остаться в окне Output самой студии. И еще вопрос - у вас .dll от MySQL клиента рядом с вашим .exe лежит? (Или где нибудь в системных папках). Без нее работать явно не будет

Автор: gromo 28.8.2012, 00:53
Спасибо огромное!
залил dll в проект и всё получилось)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)