Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Modified & Improved wxWidgets Project Wizard
bnilsson:
No errors this time, thanks for the fix.
Biplab:
Hi bnilsson, Thanks for your confirmation. :D
Hi TDragon, I'm not sure why the compilers work in such a way?? If anyone have any idea, please post.
I frequently use MSVC 8 as that comes for free with a great IDE. That's why I didn't notice that. Thanks for pointing that out. Also if you go through the makefiles in wxWidgets sample directory, you'll find they have also added a number of Win32 libraries. I'm just quoting one line from minimal app's makefile for GCC.
--- Code: (makefile.gcc) ---$(OBJS)\minimal.exe: $(MINIMAL_OBJECTS) $(OBJS)\minimal_sample_rc.o
$(CXX) -o $@ $(MINIMAL_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32
--- End code ---
I don't know the reason :?
mandrav:
--- Quote ---I'm not sure why the compilers work in such a way?? If anyone have any idea, please post.
--- End quote ---
In a few simple words:
When you 're creating a DLL (e.g. foo.dll), every function that it needs from a static library (e.g. libABC.a) is embedded into the DLL. If you use that DLL later with your project and you don't use other functions from that static lib (i.e. from libABC.a) then there is no need for you to link to the static lib too.
On the other hand, when creating a static library (e.g. libfoo.a), it contains only its own symbols. If it needs symbols from another static lib (e.g. libABC.a), you have to link to it too when linking your app.
So, for wx, if you will be using the wx dll, no extra static libs are needed in linking stage. But if you use the wx lib, you need to link to all those static libs you see in the examples...
I hope that didn't complicate things more :).
Biplab:
Thanks mandrav for your excellent reply. :D :D
It cleared my doubts.
Biplab:
Here is another update of the wizard. :D
Changes:
* Wizard is now more clean. Adds minimum of numbers of libraries to the project depending upon user's choice.
* No Win32 libs are added if DLL build of wx lib is selected. Huge thanks to TDragon for pointing that and Mandrav for explaining the reason. :D
* MSVC 8 now support wx lib dynamically linked with C Runtime Library (CRT) for all build configurations of wxWidgets. Statically linked wx lib (for MSVC 8 ) are NOT supported anymore.
* Wizard now generates commands to embed manifest file to generated exe file after linking to load CRT properly during runtime (For MSVC 8 only). So no performance issues with wxString now. But your application will now depend upon msvcrt.dll
* Options to select almost all the individual libs of wxWidgets in non-monolithic mode. (see the following screenshots) Please note the none of the lib from Contrib dir are added. If you need them, you have to add them manually.
Check the option, in bold, to go the next page.
One point to remember that though there is no Next button, but clicking on Finish button will move to next page (if the Add more wxWidgets libraries is selected).
If you need more, then add them here.
Please test it and post your feedback. :D
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version