Gtkmm/Win32/MSVC8: Gtkmm-Newbie braucht Hilfe zum Linken von erster Anwendung.
-
Hallo,
ich versuche gerade eine GUI-App mit gtkmm unter Windows mit dem VisuallC++2005 zu bauen.
(ein bei gtkmm mitgeliefertes Beispiel).include- und lib-Verzeichnisse sind eingebunden.
Allerdings weiß ich nicht ob ich Konsolenanwendung oder Win32-Anwendung erstellen muss?Bei Konsolenanwendung kommt
MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartupBei Windowsanwendung:
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartupOffensichtlich die falsche Einsprungfunktion??
wer kann mir helfen?
-
scrontch schrieb:
Hallo,
ich versuche gerade eine GUI-App mit gtkmm unter Windows mit dem VisuallC++2005 zu bauen.
(ein bei gtkmm mitgeliefertes Beispiel).include- und lib-Verzeichnisse sind eingebunden.
Allerdings weiß ich nicht ob ich Konsolenanwendung oder Win32-Anwendung erstellen muss?Bei Konsolenanwendung kommt
MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartupBei Windowsanwendung:
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartupOffensichtlich die falsche Einsprungfunktion??
wer kann mir helfen?Die Beispiele sind auf Konsolenanwendung ausgelegt. Hast du denn eigentlich eine Funktion main() in dem Beispiel irgendwo gesehen?
BR
Vinzenz
-
@scrontch
gtkmm selber ist korrekt kompiliert, oder? Nicht dass da schon der Hund begraben liegt...
-
GPC schrieb:
@scrontch
gtkmm selber ist korrekt kompiliert, oder? Nicht dass da schon der Hund begraben liegt...Ich glaube kaum das er unter Windows gtkmm selbst baut
BR
Vinzenz
-
evilissimo schrieb:
GPC schrieb:
@scrontch
gtkmm selber ist korrekt kompiliert, oder? Nicht dass da schon der Hund begraben liegt...Ich glaube kaum das er unter Windows gtkmm selbst baut
hehe, ich hab das früher immer so gemacht, mit MinGW und msys... inzwischen gibt's ja auch VS Solution-Dateien, mit denen man das bauen kann. Ist da noch 'n Weg, das Teil unter Win zum Laufen zu bringen?
Aber unter Slackware bleibt mir eh nichts anderes übrig, als gtkmm selber zu kompilieren, da es das nicht als tgz Paket gibt
Grüße
GPC
-
ok,
mein Fehler, mit einer main linkte es.
(Ich dachte die wär da irgendwie versteck mit drin).
Ich kann das jetzt also ausführen, aber es hagelt CRITICAL assertions auf der Konsole und kommt dann zum Absturz ohne auch nur ein Widget gezeichnet zu haben.Und nein, kompiliert habe ich gtkmm nicht, sondern gtkmm-devel-2.8.8-2.exe heruntergeladen (hier: http://www.pcpm.ucl.ac.be/~gustin/win32_ports/) und installiert.
Es handelt sich um das darin enthaltene gtkmm-demo/example_appwindow.cc, das ich lediglich um eine
int main() { do_appwindow(); }
erweitert habe.
Ich werd wohl kleiner anfangen müssen und erstmal ein ganz simples Hello-World-demo suchen.
-
main ersetzt durch
int main(int argc, char *argv[]) { Gtk::Main kit(argc, argv); Example_AppWindow window; Gtk::Main::run(window); return 0; }
und prima!