Bonjour,
Ce forum est réservé aux utilisateurs de wxWidgets sous linux, mais faute de forum similaire sous windows, je me permets de poster mon message ici.
Tous les programmes que je tente de compiler pour tester wxWidgets me renvoient les mêmes erreurs. Je précise que je me suis déjà tourné vers le forum de wxDev.fr (lien du post ici) qui me semblait plus adapté mais en l'absence de solution j'essaie sur développez.com.
Je travaille sous XP avec CodeBlocks et MinGW. Après l'installation et la compilation de wxWidgets à l'aide d'un tutoriel de wxDev.fr et du wiki de CodeBlocks, j'ai testé plusieurs programmes basiques (par exemple celui-ci). Mais à chaque fois j'ai ce message d'erreur :
Pourtant en cherchant dans les fichiers d'en-tête, je vois que ces fonctions sont bien visibles à ce niveau de portée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 E:\developpement\CodeBlocks\wx287\include\wx\buffer.h||In constructor `wxCharBuffer::wxCharBuffer(const char*)':| E:\developpement\CodeBlocks\wx287\include\wx\buffer.h|127|error: `strdup' was not declared in this scope| E:\developpement\CodeBlocks\wx287\include\wx\buffer.h||In member function `wxCharBuffer& wxCharBuffer::operator=(const char*)':| E:\developpement\CodeBlocks\wx287\include\wx\buffer.h|127|error: `strdup' was not declared in this scope| E:\developpement\CodeBlocks\wx287\include\wx\buffer.h||In constructor `wxWCharBuffer::wxWCharBuffer(const wchar_t*)':| E:\developpement\CodeBlocks\wx287\include\wx\buffer.h|134|error: `_wcsdup' was not declared in this scope| E:\developpement\CodeBlocks\wx287\include\wx\buffer.h||In member function `wxWCharBuffer& wxWCharBuffer::operator=(const wchar_t*)':| E:\developpement\CodeBlocks\wx287\include\wx\buffer.h|134|error: `_wcsdup' was not declared in this scope| E:\developpement\CodeBlocks\wx287\include\wx\string.h||In function `int Stricmp(const char*, const char*)':| E:\developpement\CodeBlocks\wx287\include\wx\string.h|141|error: `strcasecmp' was not declared in this scope| E:\developpement\CodeBlocks\wx287\include\wx\list.h||In constructor `wxListKey::wxListKey(const wxChar*)':| E:\developpement\CodeBlocks\wx287\include\wx\list.h|406|error: `_wcsdup' was not declared in this scope| E:\developpement\CodeBlocks\wx287\include\wx\list.h||In constructor `wxListKey::wxListKey(const wxString&)':| E:\developpement\CodeBlocks\wx287\include\wx\list.h|408|error: `_wcsdup' was not declared in this scope| ||=== Build finished: 7 errors, 0 warnings ===|
Lorsque j'utilise le compilateur de Microsoft, le problème disparaît. Mais impossible avec MinGW. Et je n'ai jamais eu de problème auparavant avec des programmes en mode console ou sous GTK.
Voici un petit programme d'exemple qui provoque l'erreur, sous forme de projet CodeBlocks. Quelqu'un l'a essayé sur wxDev.fr et cela compile très bien chez lui.
le même programme en projet CodeBlocks : WxHelloWorld.rar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include "wx/wx.h" // provoque les erreurs #include <iostream> int main () { std::cout << "Hello world !"<< std::endl; return 0; }
Alors voilà, est-ce que quelqu'un a une idée sur l'origine du problème ?
Partager