Difference between revisions of "Compiling the Viewer (MSVS2008)"

From Second Life Wiki
Jump to navigation Jump to search
 
(14 intermediate revisions by 6 users not shown)
Line 1: Line 1:
In current release branches, only MSVS 2003 is officially supported, however Visual Studio generally works. If you run into problems, members of the [[SLDev]] mailing list will generally help. It's good form to update the wiki with what you learn, or file JIRAs against source deficiencies.
{{CompileNav}}
In current release branches, only MSVS 2005 is officially supported, however other versions of Visual Studio may work. If you run into problems, members of the [[SLDev]] mailing list will generally help. It's good form to update the wiki with what you learn, or file JIRAs against source deficiencies. If this is your first build, consider referring back to the list of [[Microsoft Windows Builds|supported compilers on Microsoft Windows]].
 
{{Warning|Check on the status of {{jira|VWR-9541}} ("Included boost libraries prevent VC90 from compiling and linking the second life source correctly") before choosing this path.}}


== Download Express (optional) ==
== Download Express (optional) ==
Line 6: Line 9:


[http://www.microsoft.com/express/download/ Click here to download Visual C++ Express - currently VS2008 only]
[http://www.microsoft.com/express/download/ Click here to download Visual C++ Express - currently VS2008 only]
The link:
Visual C++ 2005 Express http://download.microsoft.com/download/8/3/a/83aad8f9-38ba-4503-b3cd-ba28c360c27b/ENU/vcsetup.exe
is still active.
If you need 2005 you may still download. Nicky Perian 18:53, 15 March 2010 (UTC)
And for Windows Vista the link:
Visual Studio 2005 Service Pack 1 Update for Windows Vista
http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&displayLang=en
Use Internet Explorer to register VC++ Express. Firefox and Seamonkey fail to produce the registration key page.--[[User:Nicky Perian|Nicky Perian]] 20:55, 22 March 2010 (UTC)


== Install Microsoft Platform & DirectX SDKs ==
== Install Microsoft Platform & DirectX SDKs ==


Download and install:
Download and install:
* [http://www.microsoft.com/downloads/details.aspx?familyid=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en Microsoft Platform SDK]
*[http://www.microsoft.com/downloads/details.aspx?FamilyID=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en Windows SDK for Windows Server 2008 and .NET Framework 3.5]
* [http://download.microsoft.com/download/5/1/f/51ff8357-0af3-418b-9d0b-e9a5cdc39759/dxsdk_dec2006.EXE DirectX 9.0 SDK (December 2006)]
*[http://www.microsoft.com/downloads/details.aspx?FamilyID=ea4894b5-e98d-44f6-842d-e32147237638&DisplayLang=en DirectX SDK (August 2008)]


If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -> Add or Remove Programs) before installing this version.  Installing the new SDK "on top" of an older version may cause problems. Upon installing DirectX, it is sufficient to install the '''include''' and '''libraries''' part.  Other DX development tools are not necessary.
If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -> Add or Remove Programs) before installing this version.  Installing the new SDK "on top" of an older version may cause problems. Upon installing DirectX, it is sufficient to install the '''include''' and '''libraries''' part.  Other DX development tools are not necessary.
'''NOTE:''' Default installation of both Platform SDK and DirectX SDK can be found in
* '''C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2''' and
* '''C:\Program Files\Microsoft DirectX SDK (December 2006)''', respectively.


== Setup the project globals ==
== Setup the project globals ==
Line 29: Line 43:
**'''NOTE:''' The newest DirectX SDK ("December 2006") lib folder has two sub-folders, x64 and x86.  Make sure your path goes to one of them (select '''lib/x86''', not just '''lib'''), or you will get a Link error.  For the Windows Platform SDK, there is ''not'' a subfolder for x86 (even though there are subfolders for AMD64, IA64, etc.), so do ''not'' select a subfolder for the Windows Platform SDK.
**'''NOTE:''' The newest DirectX SDK ("December 2006") lib folder has two sub-folders, x64 and x86.  Make sure your path goes to one of them (select '''lib/x86''', not just '''lib'''), or you will get a Link error.  For the Windows Platform SDK, there is ''not'' a subfolder for x86 (even though there are subfolders for AMD64, IA64, etc.), so do ''not'' select a subfolder for the Windows Platform SDK.
* Also, make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are under the "Executable files" dirs and moved to the bottom of the list.  (Even if you update your PATH environment variable, those changes will NOT be reflected inside Visual Studio!)
* Also, make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are under the "Executable files" dirs and moved to the bottom of the list.  (Even if you update your PATH environment variable, those changes will NOT be reflected inside Visual Studio!)
== Compiling the Second Life viewer ==
Refer to these topics on how to compile the viewer with Microsoft Visual Studio:
* [[Compiling the viewer (MSVS2003)|Microsoft Windows - Visual Studio .NET 2003]] (recommended, Linden Lab uses VS2003)
** see also: [[Compiling the viewer libraries (MSVS 2003)]]
* [[Compiling the viewer (MSVS2005)|Microsoft Windows - Visual Studio 2005 & Visual C++ 2005 Express]]
Following alternative methods are also available for experienced developers:
* [[User:Dzonatas Sol/Compiling The Viewer|Building with SCons]] (can build without project files, based on python)
* [[CMake|Building with CMake]] (generates project files to build -- experimental)


== Screenshots ==
== Screenshots ==
Line 51: Line 52:
* Example screenshot of Tools > Options > Projects > VC++ Directories > Libraries files
* Example screenshot of Tools > Options > Projects > VC++ Directories > Libraries files
[[Image:MSVS2005 Global Project Options Library Files.JPG|center]]
[[Image:MSVS2005 Global Project Options Library Files.JPG|center]]
[[Category:Compiling viewer]]

Latest revision as of 19:04, 22 March 2010

In current release branches, only MSVS 2005 is officially supported, however other versions of Visual Studio may work. If you run into problems, members of the SLDev mailing list will generally help. It's good form to update the wiki with what you learn, or file JIRAs against source deficiencies. If this is your first build, consider referring back to the list of supported compilers on Microsoft Windows.

Warning!

Check on the status of VWR-9541 ("Included boost libraries prevent VC90 from compiling and linking the second life source correctly") before choosing this path.


Download Express (optional)

If you do not already own Visual Studio, then you may download Microsoft's free IDE and compiler editions.

Click here to download Visual C++ Express - currently VS2008 only


The link:

Visual C++ 2005 Express http://download.microsoft.com/download/8/3/a/83aad8f9-38ba-4503-b3cd-ba28c360c27b/ENU/vcsetup.exe


is still active.

If you need 2005 you may still download. Nicky Perian 18:53, 15 March 2010 (UTC)

And for Windows Vista the link: Visual Studio 2005 Service Pack 1 Update for Windows Vista http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&displayLang=en

Use Internet Explorer to register VC++ Express. Firefox and Seamonkey fail to produce the registration key page.--Nicky Perian 20:55, 22 March 2010 (UTC)

Install Microsoft Platform & DirectX SDKs

Download and install:

If you have previously installed an older version of the DirectX 9.0 SDK, remove it first (from Control Panel -> Add or Remove Programs) before installing this version. Installing the new SDK "on top" of an older version may cause problems. Upon installing DirectX, it is sufficient to install the include and libraries part. Other DX development tools are not necessary.

Setup the project globals

  • Start Visual Studio
  • Go to Tools > Options > Projects > VC++ Directories
  • Make sure that the includes and libraries paths ("Include files" and "Library files" in the "show directories for" dropdown) exist, and add them if they don't, in the following order: (see screenshots below)
    1. Platform SDK paths
    2. DirectX SDK paths
    3. Visual C++ paths
    • NOTE: The newest DirectX SDK ("December 2006") lib folder has two sub-folders, x64 and x86. Make sure your path goes to one of them (select lib/x86, not just lib), or you will get a Link error. For the Windows Platform SDK, there is not a subfolder for x86 (even though there are subfolders for AMD64, IA64, etc.), so do not select a subfolder for the Windows Platform SDK.
  • Also, make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are under the "Executable files" dirs and moved to the bottom of the list. (Even if you update your PATH environment variable, those changes will NOT be reflected inside Visual Studio!)

Screenshots

  • Example screenshot of Tools > Options > Projects > VC++ Directories > Includes files
MSVS2005 Global Project Options Include Files.JPG


  • Example screenshot of Tools > Options > Projects > VC++ Directories > Libraries files
MSVS2005 Global Project Options Library Files.JPG