[wxWidgets] Problem z urochomieniem aplikacji

0

Mam taki problem: Ostatnio przesiadłem się z wxDev-C++ na Visual Studio 2008, bibliotekę zainstalowałem przy pomocy poradnika z tej oto strony http://wiki.wxwidgets.org/Microsoft_Visual_C%2B%2B_Guide z tą różnicą, że zamiast z we Właściwościach projektu->Linker->Input->Additional Depenedencies wkleiłem takie oto nazwy lib'ów(Debug): wxbase28ud.lib wxbase28ud_net.lib wxbase28ud_odbc.lib wxbase28ud_xml.lib wxjpegd.lib wxmsw28ud_adv.lib wxmsw28ud_aui.lib wxmsw28ud_core.lib wxmsw28ud_dbgrid.lib wxmsw28ud_html.lib wxmsw28ud_media.lib wxmsw28ud_qa.lib wxmsw28ud_richtext.lib wxmsw28ud_xrc.lib wxregexud.lib wkleiłem te bo po wklejeniu tych z w/w poradnika program wyrzucał mi błędy i nie mogłem skompilować programów, które na wxDev-C++ szły gładziutko. A wracając do problemu to ustawiłem Visual'a tak jak opisałem wyżej, wklejam program kompilujący się na Dev-C++ i F7. Kompilacja się powiodła żadnych ostrzeżeń wszystko super. Teraz uruchamiam aplikację i
http://www.wrzuta.pl/obraz/55KuaL9oNz/screen
Plik ten znajduje się w D:\wxWidgets-2.8.9\lib\vc_dll.
Co jest nie tak, wie ktoś ?

pozdrawiam i z góry dziękuję za odpowiedzi.

</image>
0

Znalazłem częściowe rozwiązanie, a mianowicie wkleiłem plik .exe programu do D:\wxWidgets-2.8.9\lib\vc_dll gdzie znajdują się wszystkie pliki .dll wymienionych w poprzednim poście lib'ów. Ale przecież nie będę za każdym razem trzymał programu ze wszystkim dll'ami i tu rodzi się nowe pytanie: Jak ustawić kompilator żeby automatyczni przy kompilacji programów dołączał te pliki dll do pliku .exe ?. A może tak, czy to w ogóle jest możliwe?

0

żebyś nie musiał dołączać dllek widgetsa, musisz skompilować widgetsa jako same liby, bez DLLek, bo możesz albo z DLLami albo bez, są 2 rodzaje

w katalogu build/msw powinieneś mieć ws.dsw(solucja w wersji bez dllek) i wx_dll.dsw (solucja w wersji z widgetsem w dllkach), skomilowałeś wersję z dllkami, trzeba było drugą

poza tym w Visualu 2008 miałem problemy z dllką runtimeu visuala, gryzły się z widgetsową i sypało warningiem, a rozwiązaniem tego żeby się nie gryzły było: musisz skompilować tak widgetsa, żeby dllka runtimeowa została włączona do binarek widgetsa, tzn. w każdym jednym projekcie w solucji widgetsa zmienić w "C/C++ -> Code Generation -> Runtime Library" na opcje bez DLL (/MT albo /MTd) i to w każdej kompilowanej konfiguracji widegtsa, unicode nie unicode, release czy debug, trochę to zajmuje ale potem wszystko dobrze działało

0

Radze kompilowac jako static lib release bez unicode i wylaczyc runtime visuala bo jest dosc wredne. A exeki wykorzystujące wxWidgets potraktować potem upx-em - wtedy rozmiar prostego programu to ~400 kB w jednym pliku.
A wszystkie dll-ki od wx skompilwanego jako dll to ~20 MB wiec nie warto raczej

1 użytkowników online, w tym zalogowanych: 0, gości: 1