Thanks to the very generous help Guru Kathiresan offered me yesterday, I can finally use VC++ 6.0 for my wxWidgets development (will still use wxDevCpp as my form editor, hopefully wxDevCpp can one day be connected to the DevStudio compiler and debugger environment, that would be the ideal marriage...).
He gave me also the permission to make the steps public. It's a real honor for me to do this.
Here we go...
- Unzip wxWidgets 2.6.2 files to a directory (uncompress the files for instance to C:\Personal\projects\components\Vc6\src\wx262 - so, try to generalise the dir name)
- Open C:\Personal\projects\components\Vc6\src\wx262\build\msw\wx.dsw
- Then select 'Projects | Settings...' .
- In the settings window, select the first project (adv) and then click the C++ tab.
- Then Select "Code Generation" in the the "Category" Combobox.
Make sure "Settings For" Combo is selected as "Win32 Debug".
- In the "Use Runtime Library" combobox, select "Debug Multithreaded" (and ***not*** "Debug Multithreaded DLL", which is selected as default)
- Continue doing that for all the other projects.
- Click Ok to save the settings: don't forget this action!
- Then follow step 3 and this time you should select "Win32 Release" and select "Multithreaded" for the Runtime settings.
- Then do a batch build of all projects in the workspace.
This is a lengthy process and you will have some projects that will fail. This is because some libs needed by those projects are not compiled yet (dependency issue).
However, running a second time the batch build (no rebuild all, just build!!!) should result in no errors anymore (the previously failed projects will now nicely link and generate their lib(s)).
- Once all builds are done and error free, open the options Window (Tools->Options) and select the "Directories" tab.
- Add the wx include path (C:\Personal\projects\components\Vc6\src\wx262\include\) and Lib directory (C:\Personal\projects\components\Vc6\src\wx262\lib\vc_lib) in the corresponding window and save the options.
- Then go to C:\Personal\projects\components\Vc6\src\wx262\lib\vc_lib\mswd\wx and copy the setup.h file to
- Create a new empty win32 project and then open the settings ('Project | Settings...') and change the runtime settings to Multithreaded.
- Add the following lib file names to the "Libary Modules" Editbox in the "Link" tab (and "General Category"):
Code: Select all
wxmsw26d_core.lib wxbase26d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib
- Then Select the "Input item from the category (in the same "Link Tab").
Add LIBCMT.lib to the "Ignore libraries:" section (this is to make sure the default Non Debuggable C Runtime library is ignored).
- Then compile and link your project, this should make your program run under the Vc++ debugger (of course, if you copy the .manifest file in the corresonding exe folder, you can get your XP theme effect back)
Without his help, this would never have been possible.
Deepest respect for that guy!