Building LibreOffice on Windows with Cygwin and MSVC: Historical Notes
This is historical record only, for current releases see Editing Development/BuildingOnWindows
Building older release branches
While libreoffice-4-5, libreoffice-5-2 and libreoffice-5-3 release branches require Visual Studio 2013, you can build older release branches with older Visual Studio versions too.
Installing Visual Studio 2013
To build LibreOffice libreoffice-4-5, libreoffice-5-2 and libreoffice-5-3.
Installing Visual Studio 2012
Only for LibreOffice versions newer than 4.0:
Visual Studio 2012 comes with the Windows SDK and DirectX SDK and .NET stuff included. Install Visual Studio 2012 and you have all you need.
If you want your builds to run on Windows XP, you need to install VS 2012 update 1 (or later, current as of this writing is update 3) and use
Installing Visual Studio 2010
As Visual Studio 2010 doesn't come with all necessary files included, you need to install some additional packages.
- Windows SDK
Use the SDK for Windows 7 for compatibility with Windows XP and later. You can download it from the MSDN site http://msdn.microsoft.com/en-us/windows/bb980924.aspx
- .NET Framework 4
If version 4.5 is installed, remove it first, to prevent this bug http://howtofix.pro/fixedfatal-error-lnk1123-failure-during-conversion-to-coff-file-invalid-or-corrupt/. You can download .NET Framework 4 from http://www.microsoft.com/fr-fr/download/confirmation.aspx?id=17851.
- Microsoft Visual Studio 2010 Service Pack 1 MFC Security Update. This needs to be installed manually as it doesn't get installed via Windows Update. See also tdf#68756.
If you want to build mozilla from source (doesn't apply to master/current codeline), you need the
- Mozilla build tooling (only for LibreOffice versions older than 4.1)
Install GNU make
Warning: The native Win32 GNU make only works to build the master branch leading up to the 4.4 release; for building release branches for 4.3 and earlier, you need a Cygwin GNU make from here.
Visual Studio 2010 compiler
Note: It is not possible to build current LibreOffice with Visual Studio 2010; the last release branch that builds with 2010 is libreoffice-4-3 for the 4.3.x releases.
As of 31.10.2012 it is working on Windows Server 2008 64 bit (current master). If you get this configuration error "checking string.h... no" string not found, that's mean that you don't have any C-HEADER in your <install_visual_studio_dir>\VC\include directory. To resolve, you have to reinstal VS 2010 and check your registry as it says here: http://stackoverflow.com/questions/12460307/installation-of-visual-studio-2010-any-edition-installs-only-2-files-in-the-c and here http://connect.microsoft.com/VisualStudio/feedback/details/774158/re-installed-visual-studio-2010-and-c-standard-headers-are-missing
Visual Studio 2008 compiler
Note: It is not possible to build current LibreOffice with Visual Studio 2008; the last release branch that builds with 2008 is libreoffice-4-0 for the 4.0.x releases.
If you use Windows SDK 7+ with VS2008 Express, you should register it after install. You should do it with Start>Programs>Microsoft Windows SDK v7.1>Visual Studio Registration>Windows SDK Configuration Tool. If this does not work, open the SDK console (one step up), and execute:
WindowsSdkVer.exe -version:v7.1 -legacy (Thanks to Chromium build instructions).
Optional requirements to build Mozilla Address Book connector
Building the bundled mozilla from source is not possible currently.
When you want to use precompiled mozilla, for example because you want to enable the old mozilla addressbook connector (with
--enable-win-mozab-driver), you need the Visual C++ 2005 runtimes in the external-tarball folder.
Perhaps you find these files already on your PC, because another application has installed them. Look into a subfolder of
Windows\winsxs which name starts with
Another way is to use the 'Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)', last seen at this location. Unfortunately it does not deliver the file
MICROSOFT.VC80.CRT.manifest. But this is a pure text file and you can write it using your editor. Use DOS line ends and UTF-8. For me the following content works, although it might not be "correct". I took the version number from the files. Put all those files into
external\tarballs. (This location provides latest VC++ runtimes, including 2005, and the version of vcredist 2005 indicated there seems to contain proper manifest.)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <noInheritable/> <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.00.50727.6195" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" /> <file name="msvcr80.dll"/> <file name="msvcp80.dll"/> <file name="msvcm80.dll"/> </assembly>