|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 287
|
[C++] Visual studio problema stupido
Ciao a tutti, ho imparato le basi della programmazione in C++ usando dev-c++ ma ora voglio provare ad utilizzare Visual studio e sopratutto vorrei riuscire ad interrogare un database utilizzando mysql.
Ho letto in rete che devo scaricare il sourcecode dal sito di mysql e l'ho fatto ma mi sono bloccato qui. In primis trovo visual studio poco "user friendly" (almeno per me) e se qualcuno di voi mi spiegasse passo primaditutto come impostare un semplice progetto su visual studio mi fa già un favore. Inoltre vorrei capire dove devo andare a mettere questa cartella di mysql che ho scaricato. Hel pls! |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 287
|
nessuno sa aiutarmi?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Per creare un progetto in visual studio è semplice: File->New->Project...
Vai sulla voce Visual C++ e scegli "Win32 Console Application". Per quanto riguarda MySql cosa hai scricato di preciso? Il Connector per C++? |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 287
|
Ok sono riuscito a creare una semplice applicazioen da console , l'unica cosa che non capisco è che anche per far funzionare un semplice cout mi richiede obbligatoriamente questa riga #include "stdafx.h" quando lo stesso codice su altri compilatori funzionava benissimoa anche senza questo header. come mai?
Per quanto riguarda mysql, ho scaricato il file sorgente di mysql++ che è un wrapper per la libreria di mysq in C, in questa cartella vi sono dei file per ogni versione di visual studio (oltre che per altri IDE) e c'è un readme che spiega come far funzionare il tutto solo che alcuni passaggi non sono riuscito a comprenderli. In particolare dice (traduzione mia) di compilare sia la versione debug che la versione release della libreria,poi dice che queste dll possono avere nomi diversi e che possono essere installate nella stessa directory se desiderato:mysqlpp_d.dll per la versioneDebug emysqlpp.dll per la versione Release . Poi dice che con la libreria compilata, dobbiamo lanciare almeno gli esempi resetdb e simple1 per assicurarci che tutto funzioni. Se tutto funziona possiamo lanciare install.hta alla root del progetto per installare i file della libreria e gli headers in una cartella di nostra scelta. Purtroppo non so come fare queste cose....confido in voi |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 287
|
Dopo un bel pò di ricerche ho trovato questa guida che spiega passo passo come implementare mysql++ in visual studio, il problema è che mi blocco al penultimo punto perchè nel compilare mysql++.sln il compilatore mi dà svariati errori che,leggendo gli errori dicompilazione, sembrano tutti dipendere dal fatto che non trova mysql_version.h .
Specifico che il file in questione è presente nella cartella include della mia installazione di MySQL. Vi posto la guida così vedete se il procedimento è giusto : 1) Download mysql++-3.0.9.tar.gz (2.6 MB, 2009.02.04) (http://tangentsoft.net/mysql++/) 2) Use 7-zip to extract twice on the tar.gz 3) Rename folder to “MySQL++” and move this folder to C:\ 4) Open MySQL ++ folder and double click install.exe 5) Check Segregate native C++ library builds from C++/CLI (CLR) builds and libraries by platform, then click Install Now. 6) Download mysql-5.0.77 ZIP/Setup.EXE (must be winx86 not winx64) http://dev.mysql.com/downloads/mysql/5.0.html#win32, and choose install complete not typical. 7) Download bakefile_0.2.5.exe from (http://www.bakefile.org) , and install it. a. Then open CMD, go to C:\ MySQL ++\ b. Then types “rebake” and enter. 8) Open Visual Studio 2008, Create new Win32 Console Application, then go to tool -> Options -> Projects and Solutions -> VC++ Directories a. Executable files, add “C:\ Program Files\MySQL\MySQL Server 5.0\bin” b. Include files, add “C:\ MySQL ++\include and D:\Program Files\MySQL\MySQL Server 5.0\include” c. Library files, add “C:\ MySQL ++\lib” 9) Right click on Solution project and select Property -> Linker -> Input, and then add “mysqlpp_d.lib” in Additional Dependencies. 10) Go to CMD C:\ MySQL ++\, enter “exrun resetdb –u root –p yourpassword” 11) Then open mysql++.sln in C:\ MySQL ++\vc2008\ folder, and rebuild it 12) Go to CMD C:\ MySQL ++\vc2008\debug and type “simple1 –u root –p yourpassword” then it will compiled and get output. Help pls!! Ultima modifica di EnergyVortex : 25-11-2010 alle 12:25. |
|
|
|
|
|
#6 | ||
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Per usare cout devi includere <iostream>, stdafx è un header generato da Visual Studio da utilizzare per gli header precompilati. Quote:
Poi configurerai visual studio sul tuo progetto aggiungendo il path agli header di Mysql++ e configurando tra le librerie dipendenti i .lib di Mysql++ e quelli di MySql. |
||
|
|
|
|
|
#7 | |
|
Member
Iscritto dal: Aug 2009
Messaggi: 287
|
Quote:
Per quanto riguarda i passi che ho elencato nei post precedenti sono riuscito a capire perchè non mi trovava l'header ed ho risolto ora però non mi trova una libreria che è mysqlpp_d.lib che effettivamente non è presente nella caretella lib di Mysql++...sai dirmi dove trovarla o quale cartella devo aggiungere alle cartelle libreria nelle opzioni di visual studio (ho già aggiunti C.\Mysql++\lib) ?? |
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 287
|
risolto!
avevo sbagliato il passo 5 della guida che ho postato un pò più su, infatti le opzioni da checkare sono 2 mentre ne avevo vista una sola. La guida è ottima,spero che in futuro possa servire a qualcuno |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 287
|
Purtroppo ho un ultimo problema : quando vado ad eseguire l'ultimo passo della guida e cioè quando vado dal prompt in C:\mysql++\vc2008\debug e dò come comando "simple1 –u root –p yourpassword" (ovviamente inserendo la mia password) invece di compilare mi dà il seguente messaggio di errore : DB connection failed: Unknown database 'mysql_cpp_data'
Cosa comporta questa cosa? come posso risolverla? |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 287
|
Sono riuscito a risolvere: gli ultimi tre passi dellas guida vanno eseguiti nel seguente ordine 11 , 10, 12 perchè bisogna prima compilare tutto eppoi dare restdb eppoi lanciare simple1.
Lanciando resetdb prima di compilare il tutto mi si chiudeva il prompt e pensavo che era una cosa normale (non sapevo cosa dovevo aspettarmi) quando invece non lo era. Scusate il monologo |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:09.




















