C++ et MySQL PB de LINK

C++ et MySQL PB de LINK - C++ - Programmation

Marsh Posté le 14-03-2008 à 09:56:26    

Bonjour,
 
J'ai beau tourner le probleme dans tous les sens j'ai toujours un problem de link lorsque je compile mon projet (mod HL2) sous MS VS 2005 alors que quand je crée un projet vide et copie juste le code a inserer dans HL2 ca marche nikel ... avec les meme options ...
 

Code :
  1. 1>item_healthkit.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (__imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) référencé dans la fonction "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::sentry::sentry(class std::basic_ostream<char,struct std::char_traits<char> > & )" (??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z)
  2. 1>item_healthkit.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (__imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) référencé dans la fonction "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::sentry::~sentry(void)" (??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ)
  3. 1>item_healthkit.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (__imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) référencé dans la fonction __catch$??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z$0


 
j'ai eu beau parcourir beaucoup de forum, on me dit toujours d'ajouter les libraires au option de compilation, c'est deja fait : libmysql.lib mysqlpp.lib
 
J'ai lu aussi qu'il pouvait s'agir d'un pb lors de l'inclusion de ios et ostream, mais se sont des libraires standard, comment les inclure ???
 
est ce que quelqu'un aurait une autre idée de ce qui peu creer ce probleme ?
Merci d'avance

Reply

Marsh Posté le 14-03-2008 à 09:56:26   

Reply

Marsh Posté le 14-03-2008 à 10:22:15    

mettre les lib ok, mais t'as réglé le PATH pr qu'il les trouve ?

Reply

Marsh Posté le 14-03-2008 à 19:29:19    

Joel F a écrit :

mettre les lib ok, mais t'as réglé le PATH pr qu'il les trouve ?


 
enfait pour tester mon code j'ai commencé par creer un projet console win32 lequel tourne niquel en incluant les lib et en precisant le chemin. Une archi de ce genre la donc ...
MonProjet  
   + mes includes
   + mes lib
   + mes sources
 
 
Donc j'ai copier exactement la meme archi pour le projet en precisant bien sur les adresses en relatif...
Pour te repondre normalement il y a pas de raison pour lesquel il n'arriverai pas a les trouver (surtout que si j'entre un mauvais non pour la lib il me previent qu'il la trouve pas... la j'ai aucun message de ce genre...
 
J'ai remarqué quelquechose d'étrange aussi, j'ai baissé le filtre d'affichage des warning, j'ai plein de warning m'espliquant que des macros été redefinies dans plusieurs fichier...  

Code :
  1. 1>d:\VisualStudio2005\VC\PlatformSDK\include\winnt.h(950) : warning C4005: 'ARRAYSIZE' : redéfinition de macro
  2. 1>        c:\mymod\src\public\tier0\commonmacros.h(35) : voir la définition précédente de 'ARRAYSIZE'
  3. 1>d:\VisualStudio2005\VC\PlatformSDK\include\winbase.h(5804) : warning C4005: 'GetCommandLine' : redéfinition de macro
  4. 1>        c:\mymod\src\public\tier0\protected_things.h(189) : voir la définition précédente de 'GetCommandLine'
  5. 1>d:\VisualStudio2005\VC\PlatformSDK\include\wincon.h(283) : warning C4005: 'ReadConsoleInput' : redéfinition de macro
  6. 1>        c:\mymod\src\public\tier0\protected_things.h(255) : voir la définition précédente de 'ReadConsoleInput'
  7. [...]


 
Est ce que 2 fichiers pouraient entrer en conflit au point de creer des erreur de ce type
En plus c'est assez genant parceque les marco qu'il redefinit (probablement a leur état original) car tous les les fichiers de PUBLIC\tiers0 sont des fichiers ecrits par valve pour HL² ...
Merci pour la reponse


Message édité par gmotte le 14-03-2008 à 19:34:00
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed