wxWidgets 2.8.0 + dll

0

Skompilowałem wxWidgets jako unicode dll (debug i release), ale nie wiem jakie opcje ustawić w opcjach projektu (kompilator VC++ 8.0) przez co dostaje błędy typu:

error LNK2001: unresolved external symbol "protected: static struct wxEventTable const wxFrame::sm_eventTable" (?sm_eventTable@wxFrame@@1UwxEventTable@@B) main.obj

itp.

Dołączyłem pliki .lib:
wxbase28u.lib wxbase28u_net.lib wxbase28u_xml.lib wxjpeg.lib wxmsw28u_adv.lib wxmsw28u_aui.lib wxmsw28u_core.lib wxmsw28u_html.lib wxmsw28u_media.lib wxmsw28u_qa.lib wxmsw28u_richtext.lib wxmsw28u_xrc.lib

Help :(

0

W sumie to nie trzeba ręcznie dodawać żadnych lib'ów - kiedyś myślałem, że trzeba, ale wystarczy załączyć plik wx.h.

Spróbuj zdefiniować WXUSINGDLL, powinno pójść (zakładając, że masz poprawnie skompilowaną bibliotekę i ustawione zmienne środowiskowe).

PS. kluczową rolę odgrywa plik setup.h - u siebie musiałem poprawić ścieżki do LIB'ów, ale to banał ;)

0

Dzięki, właśnie też to wynalazłem (WXUSINGDLL) :) Ale mam jeszcze jeden problem, przy uruchomieniu aplikacji wyrzuca mi, że nie może znaleźć dllek: wxbase28u_vc_custom i wxmsw28u_core_vc_custom. Oczywiście po skopiowaniu ich do katalogu z progsem wszystko działa. I teraz pytanie które opcje są odpowiedzialne za linkowanie dllek na stałe?

0

Na stałe, tzn?

-- edit --

Skopiuj wszystkie dll'ki do \Windows\System32

0

Po prostu zastanawiam się jak obejść problem, że nie każdy (a właściwie prawie nikt) ma takie dllki w systemie.

0

No to było skompilować wx'a jako statyczne biblioteki (ja tak robię). Wtedy nie ma żadnych dll'ek ;)

0

Aplikacja na starcie zajmuje 1MB :/ Właśnie tego chce uniknąć. Dla porównania w Qt 11KB.

0

Jedyne co możesz zrobić to rozprowadzać swoją aplikację razem z dll'kami.

Po prostu zastanawiam się jak obejść problem, że nie każdy (a właściwie prawie nikt) ma takie dllki w systemie.

No a u mnie nie ma żadnych dll'ek Qt ;) Ta sama historia co z dll'kami wxWidgets.

0

Tak zrobię :) Dzięki za pomoc :)

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