Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1132 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Probleme de link (STL et solaris)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Probleme de link (STL et solaris)

n°432903
VisualC++
J'va y penser ...
Posté le 19-06-2003 à 13:40:58  profilanswer
 

Bonjour,
 
voila j'ai un petit pb de symboles lors du link d'un projet concernant certaines def propre a la STL, environement Solaris (copilé en 64 bit)
 

Code :
  1. std::char_traits<wchar_t>::compare(wchar_t const*, wchar_t const*, unsigned long) osbprompt.o
  2. std::char_traits<wchar_t>::eq(wchar_t const&, wchar_t const& ) DocumentModel.o
  3. std::char_traits<wchar_t>::to_int_type(wchar_t const& ) DocumentModel.o
  4. std::char_traits<wchar_t>::assign(wchar_t&, wchar_t const& ) SBinet.o
  5. std::char_traits<wchar_t>::find(wchar_t const*, unsigned long, wchar_t const& ) SBinetURL.o
  6. std::char_traits<wchar_t>::not_eof(unsigned long const& ) DocumentModel.o
  7. std::char_traits<wchar_t>::to_char_type(unsigned long const& ) DocumentModel.o
  8. std::char_traits<wchar_t>::eof() DocumentModel.o
  9. std::char_traits<wchar_t>::length(wchar_t const*) SBinet.o
  10. std::char_traits<wchar_t>::assign(wchar_t*, unsigned long, wchar_t) SBinetHttpStream.o
  11. std::char_traits<wchar_t>::copy(wchar_t*, wchar_t const*, unsigned long) SBinet.o
  12. std::char_traits<wchar_t>::move(wchar_t*, wchar_t const*, unsigned long) SBinet.o
  13. std::char_traits<wchar_t>::eq_int_type(unsigned long const&, unsigned long const& ) DocumentModel.o


 
Par default aucun flag passes a GCC (excepet pour compile 64bits), version 3.2.3.
 
En regardant de plus pres, je vois que char_traits<wchar_t> c defini uniquement lorsque -D_GLIBCPP_USE_WCHAR_T est defini a la compile (ds le header char_traits.h).
 
Donc je le rajoute aux options g++ et la je recupere une erreur a la compile et plsu au link avec

Code :
  1. /usr/local/include/c++/3.2.3/cwchar:157: `vfwscanf' not declared
  2. /usr/local/include/c++/3.2.3/cwchar:159: `vswscanf' not declared
  3. /usr/local/include/c++/3.2.3/cwchar:161: `vwscanf' not declared
  4. /usr/local/include/c++/3.2.3/cwchar:176: `wcstof' not declared


 
Hors la je seche je vois pas trop quoi faire ces symboles sont #undef effectivement ds le header cwchar mais bon je vois pas trop ce que je dois rajouter.
 
 
Qqun aurait une piste pour m'eclairer ?
 :jap:  

mood
Publicité
Posté le 19-06-2003 à 13:40:58  profilanswer
 

n°432936
Taz
bisounours-codeur
Posté le 19-06-2003 à 14:07:59  profilanswer
 

la norme ne donne que ça selon http://www.dinkumware.com/manuals/ [...] wchar.html
 
 

Code :
  1. int fwscanf(FILE *stream, const wchar_t *format, ...);
  2. int swscanf(const wchar_t *s,
  3.     const wchar_t *format, ...);
  4. int wscanf(const wchar_t *format, ...);
  5. int fwprintf(FILE *stream, const wchar_t *format, ...);
  6. int swprintf(wchar_t *s, size_t n,
  7.     const wchar_t *format, ...);
  8. int wprintf(const wchar_t *format, ...);
  9. int vfwprintf(FILE *stream, const wchar_t *format,
  10.     va_list arg);
  11. int vswprintf(wchar_t *s, size_t n, const wchar_t *format,
  12.     va_list arg);
  13. int vwprintf(const wchar_t *format,
  14.     va_list arg);


 
mais bon, quand je regarde dans mon header, toutes les fonctions que tu demandes ou pourtant l'air d'etre ok
 
essaye avec le namespace __gnu_cxx pour voir
 
et hesite pas à poster un petit bout de code significatif pour exclure tout mauvaise version de compilo ou bibliothèque cassée


Message édité par Taz le 19-06-2003 à 14:12:18
n°433048
VisualC++
J'va y penser ...
Posté le 19-06-2003 à 14:48:57  profilanswer
 

Merci pour le lien :jap:
 
ben les fonctions non definies c pas trop grave car c deja de la bidouille, le probleme de base c lle log du link en premier en fait. Et j ai beau regarder un peu partout je vois pas trop comment resoudre ce pb.
 
Pour le bout de code je vois pas trop comment te mettre un truc simple en fait (le prog tient sur pas loin de 200 fichiers), mais niveau include ca donnerait ca pour le DocumentModel.cpp (un des obj qui merde au link) :
 

Code :
  1. #include "include_du_cpp"
  2. #include <sstream>
  3. #include <list>
  4. #include <iostream>


 
include_du_cpp

Code :
  1. #include include_de_h
  2. #include <string>


 
include_de_h

Code :
  1. #ifdef _cplusplus
  2. #include <wchar>
  3. #else
  4. #include <wchar.h>
  5. #endif


 
 
Je precise c un projet OpenSource et c compilable sur certaines distrib de Linux (RH 7.0 ou inferieure par exemple) via GCC et que je compile sans pb sur Windows (via VS.Net) le code.
 
Si il faut plus d'info (ce dont je ne doute pas :() a part DL toi mm le code source je vois pas trop comment te mettre ca desole.
 
 
 
En tout cas merci

n°433056
Taz
bisounours-codeur
Posté le 19-06-2003 à 14:51:37  profilanswer
 

je comprends pas .. t'as un problème de déclaration et pas de ling :heink:

n°433060
VisualC++
J'va y penser ...
Posté le 19-06-2003 à 14:53:53  profilanswer
 

Non le pb de declaration n'apparait que si je m amuse a mettre un flag en plus -D_GLIBCPP_USE_WCHAR_T (qui n'est pas present ds les makes par defaut)
 
Le pb d'origine c le pb de link, desole si induit en erreur


Message édité par VisualC++ le 19-06-2003 à 14:54:26
n°433062
Taz
bisounours-codeur
Posté le 19-06-2003 à 14:56:16  profilanswer
 

file le code que j'essaie de compiler

n°433077
VisualC++
J'va y penser ...
Posté le 19-06-2003 à 15:04:37  profilanswer
 

Jsuis pas sur que ce soit une bonne idee tu vas t emmerder car y a besoin de Xerces (et pas en version 2.x mais 1x), SpiderMonkey et Libwww, enfin les 3 y a rien de particulier pour compile mais bon quand mm tt ca pour un pb de link
 
Enfin le lien pour le DL

n°433091
Taz
bisounours-codeur
Posté le 19-06-2003 à 15:16:21  profilanswer
 

apparemment le code a du mal
 
SBlogOSUtils.cpp: Dans function « int SBlogVswprintf(wchar_t*, unsigned int,
   const wchar_t*, char*) »:
SBlogOSUtils.cpp:298: error: conversion invalide de « const wchar_t* » vers «
   unsigned int »
SBlogOSUtils.cpp:298: error: cannot convert `char*' to `const wchar_t*' for
   argument `3' to `int vswprintf(wchar_t*, unsigned int, const wchar_t*,
   char*)'
 
donc je sens pas mal de problème à l'horizon. j'ai testé avec make -k, et là c'est un vrai festival

n°433098
VisualC++
J'va y penser ...
Posté le 19-06-2003 à 15:20:22  profilanswer
 

A tient j ai pas eu celle la, et comme les erreurs sont pas les mm suivant les versions gcc / libstdc++ et OS c la galere il semble d apres la discuss list.
 
Enfin bon t embete pas non plus, je posais la question plus pour le link (genre j'ai oublie qqchose ou juste un pb de version connu).
 
 :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Probleme de link (STL et solaris)

 

Sujets relatifs
[ASP]Probléme de lecture seul pendant un update de base de données[URGENT] Gros gros problème Access (VBA)
HELLLPPP probleme sql avec oracle (VB, adodc, odbc)[PHP] Problème de cookie
[VB.NET] Probleme avec AddHandler [résolu]cpp - generer un nombre aleatoirement? probleme
Problème config serveur[ASP]Probleme de connexion a une base de donnée
Gros problème : DLL manquante..Problème avec adodb
Plus de sujets relatifs à : [C++] Probleme de link (STL et solaris)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR