Instructions to build Bacula with Microsoft Visual C++ 2005 Express Edition (free version). --- (Note: for the moment VSS support has been disabled) What you need to download: - Visual C++ Express Edition Beta 2 (2MB + 66MB) http://lab.msdn.microsoft.com/express/visualc/default.aspx - Windows® Server 2003 SP1 Platform SDK Full Download (385MB) http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en NOTE: choose "Full Download" version on the bottom of that page. - wxWidgets for Win32 (17MB) (exe file) http://www.wxwidgets.org/dl_msw2.htm#stable - gettext packages (2MB) + http://mirror.switch.ch/ftp/mirror/gnu/gettext/gettext-runtime-0.13.1.bin.woe32.zip + http://mirror.switch.ch/ftp/mirror/gnu/gettext/gettext-tools-0.13.1.bin.woe32.zip + http://mirror.switch.ch/ftp/mirror/gnu/libiconv/libiconv-1.9.1.bin.woe32.zip - Bacula source files: + deppkgs-win32 from SF download page (extracted in /deppkgs-win32) + latest source from the CVS (maybe you want to use mingw-msys to checkout them) (in /bacula) Installation instructions: - Visual C++ Express Edition Beta 2: + Run vcsetup.exe. + When asked for Installation Options, only check "Graphical IDE" (MSDN Library is NOT needed). + Remember where you install it (e.g. E:\Microsoft Visual Studio 8\) - Windows® Server 2003 SP1 Platform SDK Full Download + Run psdk-full.exe, type the directory where you downloaded the cab files. + In a command prompt, run "PSDK-full.bat " (e.g. "PSDK-full.bat E:\temp") + Run \setup.exe + When asked for the installation directory, choose \VC\PlatformSDK (e.g. E:\Microsoft Visual Studio 8\VC\PlatformSDK\) + When asked for components, you can safely remove documentation, samples, and all 64-bit tools and libs if you want to save disk space. - gettext packages + extract them all in /deppkgs-win32/gettext - wxWidgets for Win32 + delete /deppkgs-win32/wx directory + run wxMSW-2.6.1-Setup.exe, and install it to /deppkgs-win32/wx Build instructions: - deppkgs: + Start VC++ 2005 command prompt (in the start menu) + cd /deppkgs-win32/zlib + run "nmake -f win32\Makefile.msc" (don't worry about the warnings) + cd /deppkgs-win32/pthreads + run "nmake clean VCE" (again, don't worry about the warnings) + (note pthreadVCE.dll has been created in this directory) - wxWidgets: + Open \depkgs-win32\wx\build\msw\wx.dsw in VC++ 2005 + Click on "Yes to all" + In the solution explorer, open core/Setup Headers/setup.h and add, at the end of the file (before the last #endif): #if (_MSC_VER >= 1400) // VC8+ #pragma warning(disable : 4996) // Either disable all deprecation warnings, // #define _CRT_SECURE_NO_DEPRECATE // Or just turn off warnings about the newly deprecated CRT functions. #endif // VC8+ This is not absolutely necessary, but this will remove annoying warnings. + Launch Build->Configuration Manager, then select "Unicode Release" (when you do this VC++ is busy and inactive for a little moment, don't worry about it .-)) and close this window. Then run Build->Build Solution. + Repeat the operation for the "Unicode Debug" configuration if needed. - Bacula: + Open /bacula/src/win32/bacula.sln + Launch Build->Configuration Manager, then select your configuration. + Then run Build->Build Solution (this will build wx-console, bconsole and bacula-fd). + Don't forget to copy pthreadVCE.dll from /deppkgs-win32/pthreads and iconv.dll and intl.dll from /deppkgs-win32/gettext/bin to the Release and Debug directories in src/win32/baculafd, src/win32/wx-console and src/win32/console.