Talk:Compiling under VS2005

From Valve Developer Community
Revision as of 12:50, 7 June 2006 by Imatard (talk | contribs) (compilation)
Jump to: navigation, search


I'll admit, I don't own VS2005, but I can't see any reason why it wouldn't be backwards compatible. --Alph Tech STUART 09:27, 17 Dec 2005 (PST)

I own it, and it's not really backwards compatible... You can convert it, but it gives you hell of warnings and errors, that's why i kept on trying to get it to compile... Here's my works result ;) --User:Rotzi

I successfully compiled using the listed instructions, but it did not run very well. I believe the heap is being corrupted, the issue seems to be present in both release and debug configurations, although it seems less evident in the release configuration. I think this may be due to hl2.exe being linked with the non-multithreaded C runtime from the 2003 version of Visual Studio. Visual Studio 2005 appears to only have multithreaded C runtimes. It may be possible to get a stable build if you can force Visual Studio 2005 to link against the libc from the Visual C++ 2003 toolkit, rather than just telling it to ignore libc. I haven't tried it, and I haven't read the toolkit license to determine if that's actually an ok thing to do. --User:MiasmicAnomie

I successfully compiled as well with Visual Studio 2005 with these instructions with 0 errors and 2 warnings for hl and 3 warnings for client, Playable, MP source.. added my results to the "Whats Working Section". Also I didn't have to do any of the rpg fixes. Happy coding. --User:digitaldrowning


I'll be getting a copy of Visual Studio 2005 (not express) in the next couple of weeks. Is there a problem compiling on it too or does anybody know yet? --AndrewNeo 07:11, 28 Jan 2006 (PST)

Yes, what i read is there are no Problems with normal, full Version of VS 05, but i had problems... same as with express. --Rotzi 4 Fe 2006 (GMT+1)

Other Fixes / Comments

got some info from this forumthreat

i had some errors in c_rope

fixed it once with:

taking the closing "}" from ( int iRenderCache = 0; iRenderCache < nRenderCacheCount; ++iRenderCache )

behind ++m_aRenderCache[iRenderCache].m_nCacheCount;

(means from line 231 (i think) to line 252)

i'm still trying to complete this so it will compile, hope i could help anyone...


User:Rotzi Jan 2006


doesn't work neither with express nor with full version... maybe i'm just stupid...

I'll try again this weekend and update here...

User:Rotzi Feb 2006

And still I'm having problems... Just tried it again, Release Client only, but did not get past 3 kinds of errors, wich all in all were 190 errors and 439 warnings...

I also noticed that including user32.lib and excluding LIBC did not change these error-numbers, so atleast up to that point, it did not need them... Still I'm only talking about client-Release Only.


I'd recommend /not/ using #pragma warning to disable the deprecated function comments... if you add _CRT_SECURE_NO_DEPRECATE and _CRT_NON_CONFORMING_SWPRINTFS to the preprocessor options for the projects, and then run a series of simple find/replaces across the solution (no more than about 6 - stricmp->_stricmp, __stricmp->_stricmp, strnicmp->_strnicmp, __strnicmp->_strnicmp, and a few others in similar fashion) then it actually fixes the warnings instead of just making the compiler not tell us about them. --User:Superpig

Also, a nicer fix for ..\tier1\KeyValues.cpp(800): just change the type of the variable to be a const char* instead of a char*. --User:Superpig

And again for ..\cl_dll\hud_bitmapnumericdisplay.cpp(159): Change "10" to "10.f". No need to explicitly cast it. --User:Superpig

No longer needed, just if i/we need it again... ;)

'undeclared variable'

Valves compatible version


I always hear about valve porting the sdk to VS2005, does any one has news on that, or we should wait until after EP1?

Yes and it should have been time for several months... but doesn't seem Valve will get it working at all -.- I think this sucks.

Why do they tell us they'll release it in about 3 months. Was that a year ago now? Check out Microsofts game coding for fun page.

"Since the RTM release in November, we do have an update from Valve – "Valve is working hard on ensuring support for Visual C++ Express and expect to have an update very soon for the Source SDK that will enable modding using Visual C++ Express Edition."

As they say 2003 suggested and 2005 not supported, i think the comment on the 05 express goes for VS2005 as well...

greetings User:Rotzi


According to sources I have come across there is a bit of a dilemma. Microsoft has been releasing their Express editions for free for the last eight months, and that puts them starting the released in November... their terms are that it is free to download and thereby own for a year. Once the year is up you can use it continued, owning it, but it will then be converted over to be sold ballpark $50 US.

If you look at what valve has been saying, there looks to be an imminent release of the source code updated to work on VS2005 around November.

It’s a bit shady, but there have been a number of people who have already downloaded the application. It’s more that Microsoft & Valve seem to have talked this over and decided to wait for whatever monetary reasons. It would however appear to be in valves favor to appeal to the mod community, and it is rather clear as to how having a free coding environment would effect the community. I have taken to updating my code base, in my spare time only, to the new environment, which has been a week in the works, and all the more daunting, in comparison to how smooth the studio compiles the code. It is just a matter of time until they get their systems working. I only hope that their "free tools" ideal does not fall apart to the oncoming updated games. Source has some very fun games/mods, but their development structure is far from sound.

- ImaTard 12:50, 7 Jun 2006 (PDT)