Compiling the viewer (MSVS2003)

Warning!

These instructions will not work with newer versions of the viewer. See Microsoft Windows Builds for building the latest version of the viewer.


The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003. If you are using more recent versions of Visual Studio, see Compiling the viewer (MSVS2005). For other platforms including MacOS and Linux, see Compiling the viewer.

If you get lost, or these instructions are incomplete, see communication tools for a list of ways to get in touch with people that can help.

Development Environment

The following dev environment is what LL uses for Windows development. There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.

(Instructions for building the viewer using Microsoft's Visual Studio .NET 2005 Express can be found on another page. At the time of writing, Express was freely available.)

Visual Studio .NET 2003 Professional

  It is not necessary to install every possible VS2003 component to compile the client source.
  
  For the installation prerequisites, it is not necessary to install the Internet Information Server (IIS) or SQL Server 2000.
  
  Only the following components are absolutely needed in VS2003:
  
  Visual Studio .NET Professional (Required)
1.2 Visual C++ .NET
1.2.1 Visual C++ Class & Template Libraries
1.2.2 Visual C++ Run-Time Libraries
1.2.2.1 Visual C++ Dynamic CRT Libraries
1.2.2.2 Visual C++ CRT Source Code
1.2.2.3 Visual C++ Static Single-Threaded CRT Libraries
1.2.2.4 Visual C++ Static Multi-Threaded CRT Libraries
1.2.3 Visual C++ Tools
1.2.3.2 Spy++
1.2.3.5 Visual C++ Error Lookup
1.6 Tools for Redistributing Applications
1.6.1 Graphics Library
1.6.2 Redistributable Merge Modules

Other Development Tools

You will also need some open source development tools.

Required

Optional

Source Code

The easiest way to get this working is to get source, artwork and libraries for the same version from the source downloads page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like sl_1_16_0_5. Note: Avoid folder names with spaces in them (this means avoid putting the project into your My Documents folder).

Open Source Libraries

Some libraries can be distributed with the SL source and there is a library package available with the source. As mentioned above (about the source), you can simply extract the library archive and copy the files to your code directory, maintaining the same directory structure.

If instead you are interested in compiling these libraries from their source (instead of using the above zip file of precompiled libraries provided by Linden Lab), see Compiling the viewer libraries (MSVS 2003)

Other Libraries

Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following, and you will need to follow the instructions to acquire them, below.

These steps are cumbersome and will have to be repeated for each new release (if you keep the source for each release in it's own folder). It is a good idea to build an empty directory tree for the files below, then copy these library files there. Once completed, copy the whole tree to the actual source folder (like XCOPY olibs sl_1_16_0_5 /S). You will then only need to repeat the last step for each new release, reusing the tree you have already created.

If you do not want to do this, of course you can just copy the files directly into the linden source paths.

rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes
md olibs
md olibs\linden\
md olibs\linden\libraries
md olibs\linden\libraries\include
md olibs\linden\libraries\i686-win32
md olibs\linden\libraries\i686-win32\lib_release
md olibs\linden\libraries\i686-win32\lib_debug
md olibs\linden\libraries\i686-win32\include
md olibs\linden\libraries\i686-win32\include\GL
md olibs\linden\libraries\i686-win32\include\quicktime
md olibs\linden\indra
md olibs\linden\indra\newview

Fmod

gl (pre-1.20)

Note: From 1.20 forward, LL have found suitable redistributable equivalents and ship them in the source


Quicktime (Optional)


Building

Errors while building?

See Common compilation problems if you run into errors while building.

Configurations/Debugging Info

Problems Running?

Submit Patches

This is probably far down the road, but if you make changes to the source and want to submit them, see the page about submitting patches.