NULL-ZERO.COM

Good Things Come to Those Who Wait…

WxWidgets static linking

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Nastepny wpis dotyczacy wxWidgets, tym razem o statycznym linkowaniu (?) biblioteki.
Dzisiaj spedzilem caly dzien probujac rozgryzc to zagadnienie. W koncu sie udalo, przy wsparciu chlopakow z boarda C::B.

A wiec krok po kroku:
zeby moc korzystac ze statycznych bibliotek trzeba je najpierw wygenerowac:
mingw32-make -f makefile.gcc USE_XRC=1 MONOLITHIC=1 SHARED=0 UNICODE=1 BUILD=debug USE_OPENGL=1
mingw32-make -f makefile.gcc USE_XRC=1 MONOLITHIC=1 SHARED=0 UNICODE=1 BUILD=release USE_OPENGL=1

W build options dodajemy nowy target i sprawdzamy czy w glownych definicjach projektu (nie poszczegolnych targeach) znajduje sie #define WXUSINGDLL.
Kasujemy bez zastanawiania sie. Potem bedziemy na forum szukac jak sie ta definicja nazywala hehe.
Teraz wchodzimy do naszego nowego targetu i dodajemy co nastepuje:

biblioteki

Nie zapominamy o zaznaczeniu “Prepend target options…”.
Search directories ustawiamy na:
Compiler: C:\wxWidgets-2.8.8\lib\gcc_lib\mswu
Linker: C:\wxWidgets-2.8.8\lib\gcc_lib
Resource compiler: C:\wxWidgets-2.8.8\lib\gcc_lib\mswu

Teraz z glownego menu wybieramy Settings / Compiler And Debugger / Global Compiler Settings/ Other Settings tab / Advanced options / Link object files to executables
i zmieniamy na:
$linker -o $exe_output $libdirs $link_objects $link_resobjects $libs $link_options -mwindows

(fajnie byloby zapisac gdzies to co bylo wczesniej).Przy okazji warto zaznaczyc Compiler Logging na Full Command Line – dzieki temu wiadomo jakie komendy sa wydawane podczas kompilacji / linkowania.

To chyba wszystko. Warto pozniej sprawdzic czy nasze buildy DLL dzialaja – jezeli nie to zobaczcie czy jest w nich WXUSINGDLL.

http://rosetta.null-zero.com/wp-content/plugins/sociofluid/images/digg_32.png http://rosetta.null-zero.com/wp-content/plugins/sociofluid/images/reddit_32.png http://rosetta.null-zero.com/wp-content/plugins/sociofluid/images/delicious_32.png http://rosetta.null-zero.com/wp-content/plugins/sociofluid/images/newsvine_32.png http://rosetta.null-zero.com/wp-content/plugins/sociofluid/images/technorati_32.png http://rosetta.null-zero.com/wp-content/plugins/sociofluid/images/google_32.png http://rosetta.null-zero.com/wp-content/plugins/sociofluid/images/myspace_32.png http://rosetta.null-zero.com/wp-content/plugins/sociofluid/images/facebook_32.png

Nie ma podobnych postów.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
No comments

No comments yet. Be the first.

Leave a reply