Compiling under VS2005

From Valve Developer Community
Revision as of 15:36, 1 December 2007 by CotrlIbocc (talk | contribs)

Jump to: navigation, search

internet phone samsung ringtone work from home rack room shoes jennifer lopez nude discount online pharmacy jjill sauder computer desk with hutch oris watches jc penney auto insurance quote hermes bags canadian chat line download mp3 50 cent assult rifle footjob titfucking poket watch oakley sunglasses apartment rentals oahu exotic lingerie cambridge soundworks free satellite tv jamster free ringtones exhaust systems halloween crafts tiaras anydvd coupon code winamp download free titmilk hospital bed family reunion invitations cherokee uniforms golf channel cricket wireless phone t mobile text messaging wolsvagen ebony gallery model free mahjong games online cabelas sta travel siemens mobile phone impotence lawn tractors wood stove rohypnol animie porn contemporary lamps bag chanel ultravate free high school diploma template sheds equipment cheap book information on lisinopril nick hotel starwars online game illuminated keyboard spanish translations aflac insurance internet explorer 7 hair style bald pussy urethral play icq plumpers big women free anal adult story dior sunglasses cheap erotika mortgage loan height and weight chart download syberia bank card credit ge money payment akai beauty supply plastic card embossers used trucks adult sex toy comforter adelphia cable share prices yokohama tires download sex video amateur fucking soma buy online card tricks rebate asia lamivudine new toyota supra free xxx movies big booty bmw canada expedia travel animated backgrounds kissing threeway mmf mature picture window manufacturers manufactured home dealer


The following is a general guide to getting HL2 compiling under VS 2005. Its important to note that the SDK code for HL2 supports VS2005, but only in the the _2005.sln files. Compiling a _2003.sln under 2005 and visa versa will only generate problems and errors. Older versions of the source code did not support 2005, to get them working with 2005 go here.

What's Working


  • Release - client - VS Studio: working & playable
  • Release - hl - VS Studio: working & playable
  • Release - client - V C++ Express: working & playable (after requirements are fullfilled)
  • Release - hl - V C++ Express: working & playable (after requirements are fullfilled)


  • Release - client - VS Studio: working & playable
  • Release - hl - VS Studio: working & playable
  • Release - client - V C++ Express: working & playable (after requirements are fullfilled)
  • Release - hl - V C++ Express: working & playable (after requirements are fullfilled)


Necessary steps are needed to enable compiling with the Visual Studio C++ 2005 Express Edition:

Files required


Go to Tools - Options: Projects and Solutions - VC++ Directories

  • In the upper right drop down box, select "Executable files" and add "...\Microsoft Platform SDK\Bin" (replace with the correct path)
  • Then select "Include files" and add "...\Microsoft Platform SDK\Include" and "...\Microsoft DirectX SDK (December 2005)\Include"
  • Then select "Library files" and add "...\Microsoft Platform SDK\Lib" and "...\Microsoft DirectX SDK (February 2007)\Lib\x86"
  • Finally, in the Solution Explorer right click 'client_hl2', and select Properties, then:
  • In the client_hl2 properties window, navigate to Linker -> Input
  • Select the 'Additional Properties' row. Then click the '...' on the right hand side of the row
  • If there is already an entry here, take a new line after it, and type ' user32.lib ' without the quotes.
  • Repeat these steps for 'server_hl2'

Possible Problems

Correcting Custom Build Step

The Custom Build step which copies the DLLs to your mod's directory is incorrect in the 2005 solution. When you attempt to run your game, it will crash upon trying to access gpGlobals, with an access violation at memory location 0x0000038.

Note:Only follow this step if you encounter this issue. Often, it is not required

Right-click on the client_sdk project, and go to Configuration Properties -> Custom Build Step -> General. Set Command Line to:

if exist "c:\program files\steam\steamapps\SourceMods\MyMod\bin\client.dll" attrib -r "c:\program files\steam\steamapps\SourceMods\MyMod\bin\client.dll"
if exist "$(TargetDir)"client.dll copy "$(TargetDir)"client.dll "c:\program files\steam\steamapps\SourceMods\MyMod\bin\client.dll"
if exist "c:\program files\steam\steamapps\SourceMods\MyMod\bin\client.pdb" attrib -r "c:\program files\steam\steamapps\SourceMods\MyMod\bin\client.pdb"
if exist "$(TargetDir)"client.pdb copy "$(TargetDir)"client.pdb "c:\program files\steam\steamapps\SourceMods\MyMod\bin"

Set Outputs to:

"c:\program files\steam\steamapps\SourceMods\MyMod\bin\client.dll";"c:\program files\steam\steamapps\SourceMods\MyMod\bin\client.pdb"

(In both, replace "MyMod" with your mod's directory.)

Click "Apply" (you *will* lose your changes if you forget this). At the top left, bring down the Configuration combo box, set it to Release SDK, and set Command Line and Outputs to the same values. The server_sdk's custom build steps should be correct.

Related Articles

Template:Otherlang:en Template:Otherlang:en:de