[linux] Re: C-vraag (onder wx-widgets)
Daniel von Asmuth
asmuth op bakunin.xs4all.nl
Za Feb 11 11:06:36 CET 2012
Aldus schreef Julien Michielsen op Sat, Feb 11, 2012 at 06:46:43AM +0100:
> On 02/07/12 19:57, Daniel von Asmuth wrote:
> > Aldus schreef Julien Michielsen op Tue, Feb 07, 2012 at 05:54:07PM +0100:
> >> Ik heb een bridge-programma (kaartspel) dat het c-programma "gib"
> >> als basis heeft, en daaromheen is onder X-widgets een interface naar
> >> X geconstrueerd.
> >> Mocht je ervaring hebben met wx-widgets, dan zou je mij mogelijk kunnen
> >> helpen. Is dat niet het geval, dan kun je mogelijk net zo goed stoppen
> >> met lezen, omdat ik hierbeneden vragen stel die een zekere ervaring
> >> op dit gebied verwachten.
> >>
> Nee, ik had ook niet verwacht dat je graag bridget, en dit programma
> op je computer hebt staan. Maar dat is ook niet nodig, en niet belang-
> rijk. Rond het kernprogramma gib is een interface naar X geschreven,
> die laat zien hoe het biedverloop gaat, en welke kaarten je nog in je hand
> hebt. Die interface is geschreven in C++, en maakt gebruik van x-widgets.
> En daar wringt de schoen: reeds tijdens de compilatie rollen de fout-
> meldingen over het scherm, zoals:
> make
> g++ -c -MMD -O2 -Wall
> -I/usr/lib/wx-2.8-wxcontainer/wx/include/gtk2-unicode-release-2.8
> -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__
> -pthread -o gib.o gib.cpp
> In file included from gib.cpp:46:0:
> config.h:27:30: error: conversion from 'const char [6]' to 'const
> wxString' is ambiguous
> config.h:27:30: note: candidates are:
> /usr/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar,
> size_t) <near match>
> /usr/include/wx-2.8/wx/string.h:692:3: note: no known conversion for
> argument 1 from 'const char [6]' to 'wxChar {aka wchar_t}'
> /usr/include/wx-2.8/wx/string.h:682:3: note: wxString::wxString(int)
> <near match>
> /usr/include/wx-2.8/wx/string.h:682:3: note: no known conversion for
> argument 1 from 'const char [6]' to 'int'
> config.h:144:31: error: call of overloaded 'wxString(const char [5])' is
> ambiguous
> config.h:144:31: note: candidates are:
> /usr/include/wx-2.8/wx/string.h:722:3: note: wxString::wxString(const
> wxWCharBuffer&) <near match>
> /usr/include/wx-2.8/wx/string.h:722:3: note: no known conversion for
> argument 1 from 'const char [5]' to 'const wxWCharBuffer&'
Het bovenstaande zegt dat de compiler een probleem heeft met regel 46
van gib.cpp en daar citeert-ie een stapel .h files bij om zijn gelijk
te bewijzen. Vermoedelijk is dit te repareren met een kleine aanpassing.
Het is C++ en dat is een stukje trickier dan gewoon C.
> We zijn dus nog niet aan het link-proces toe, want make houdt al op voor
> de compilatie is afgerond. Er is dus geen sprake van een "versie van
> 'gib' die
> niet compatible is met de laatste versie van wx-widgets". Om te zien of dat
> een probleem zou zijn moet op zijn minst de compilatie foutloos worden
> afgerond. Wèl worden de headers uit wx-widgets goed gevonden, zoals je
> in de foutmeldingen hierboven kunt lezen, zoals op de 6° en 7° regel:
Het probleem moet inderdaad gezocht worden in de code die u hier
probeert te compileren en wx-widgets. De foutmeldingen suggeren
incompatibiliteit met de preciese definitie van het data type wxString.
> Later vandaag (of zo snel ik eraan toekom, want heb heel nare
> dingen aan mijn hoofd) zal ik dit op mijn website zetten, mochten
> mensen van de lijst mee willen kijken hoe dit gecompileerd te krijgen.
> Het zou toch moeten kunnen: file uitpakken en make uitvoeren.
> Wie, oh wie zegt mij hoe? .................
- source downloaden
- source uitpakken
- source compileren
- bugs fiksen
- verbeterde source compileren (zonodig vorige stap herhalen)
- uitvoerbaar programma installeren
- programma testen
- verbeterde versie naar de auteur sturen
> > Misschien dat ik het komende weekeinde wat tijd over houd om daarin
> > te duiken (als je alle info toestuurt).
'make' zal er na de eerste fout mee ophouden. Dus is het moeilijk in
te schatten hoelang het gaat kosten om alles te fiksen.
> > IJskoude groeten,
> >
> >
> > Daniel von Asmuth
> >
> Hoop dat mijn warme dank je een beetje ontdooit ;-)
> Julien
Limburg is geen schaatsvolk zoals Friesland.
Daniel.
--
People who bought this story also bought....
More information about the Linux
mailing list