Plucker Desktop Development in Microsoft Visual C++ (VC++)

This helps set up the development environment for VC++. Version 6 is described here. Other versions are likely similar. Nothing tricky, just a few steps.

Requirements

Step 1: Install wxWindows

This is a simple process of downloading and running the setup included in wxWindows. You will have to reboot, because wxWindows header files make use of an environmental variable that isn't set until boot time.

Step 2: Build wxWindows

In the wxWindows src directory is a file wxwindows.dsw. This is a standard Microsoft Workspace file (analogous to a makefile for other systems.) Load it into VC++.

From the menu, select [Build][Set Active Configuration][wxWindows-Win32 Debug DLL], and press OK.

From the menu, select [Build][Build wxmsw24d.dll] (where wxmsw24d.dll is whatever the name of the library is). The library will now build. This will take awhile.

Step 3: Build WX-XRC

Plucker-Desktop uses the XML Resource Library, XRC, from the src/contrib/xrc subdirectory of wxWindows. Open up the included VC++ Workspace XRCVC.DSW and similar to above step, select [Build][Set Active Configuration][XrcVC-Win32 Debug DLL], and press OK.

From the menu, select [Build][Build wxxrcd.dll] (where wxxrcd.dll is whatever the name of the library is). The library will now build. This will take just a few minutes.

Step 4: Build WX-STC

Plucker-Desktop uses the WX Styled Text Control Library, STC, from the src/contrib/stc subdirectory of wxWindows. Open up the included VC++ Workspace STCVC.DSW and again, select [Build][Set Active Configuration][stcVC-Win32 Debug DLL], and press OK.

From the menu, select [Build][Build stcdll.dll] (where stcdll.dll is whatever the name of the library is). The library will now build. This will take just a few minutes.

Step 5: Configure Desktop Project

Open up the plucker_desktop/PluckerDesktop.dsp file and load it into MSVC++ by selecting "Open Workspace", changing the file type to "Projects *.dsp", and selecting PluckerDesktop.dsp. If you don't have access to the dsp file, create a new Project and insert all the Desktop source files from cvs into it.

The PluckerDesktop.dsp VC++ project file already has these settings described below. If you are using the supplied PluckerDesktop.dsp file, then update the settings in blue to match your directory structure and ignore the rest.

(All of the following are set in the Project - Settings area).

SettingNavigationValue
Resource Resources tab
add the wxWindows include directory (e.g. d:\dev\wx\include) to the Additional resource includes directories.
Include Directories[Project][Settings][C/C++], Preprocessor tab
add the wxWindows include directory and the Contrib/Include directory (e.g. d:\dev\wx\include;d:\dev\wx\contrib\include).
MFCGeneral tabSet to Not Using MFC
Preprocessor DefinesC/C++ tab, General Category, Preprocessor Definitions editboxAdd __WXMSW__,__WIN95__
Code GenerationC/C++ tab, Code Generation categoryDefault values of Blend, CDecl calling, MultiThreaded DLL, and 8-byte alignment.
Link InclusionsLink tab, General categoryThe following are needed, mostly for wxWindows: kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib d:\dev\wx\lib\wxmswd.lib d:\dev\wx\lib\wxxrc.lib d:\dev\wx\lib\stc.lib comctl32.lib rpcrt4.lib wsock32.lib
Link ExclusionsLink tab, Inputs category, Ignore editboxFor debug mode, "Ignore" the following:libcd.lib,libcid.lib,msvcrt.lib,libc.lib
Link OptionsLink tab, Project Options edit boxRemove the /GZ if any. This disables the MS-VC++ compiler stack checking functionality preventing unresolved external __chkesp messages.
Project TypeLink tab, Project Options edit boxChange /subsystem:console to /subsystem:windows if necessary, allowing it to compile to a Windows app and see _main.

Other current requirements which may be obsolete by now:

Finally, select [Build][Set Active Configuration][PluckerDesktop-Win32 Debug DLL], and press OK.

From the menu, select [Build][Build plucker-desktop.exe]

It will build, then yay, an executable will appear in the plucker_desktop/DebugDLL directory. You will need msvcrtd.dll and your wxwindows dll (like msmsw24d.dll) in the same dir as the .exe to run.

Now you are on to the somewhat annoying bit of making a msw installer. Copy the .exe that you want to package up from the subdir (plucker_desktop/DebugDLL/) back up to the plucker_desktop dir (plucker_desktop) and continue to the building of the installer.