Compiling under VS2010: Difference between revisions
(Added a link to wiki page describing how to fix the missing weapon_sdkbase.cpp and .h compiling errors. It took me a second google search to find this fix when it should have just been put here.) |
|||
Line 47: | Line 47: | ||
; Cannot locate "gl/glaux.h" (glview only) | ; Cannot locate "gl/glaux.h" (glview only) | ||
: Remove the line <code>#include <gl/glaux.h></code> from <code>glview.cpp</code>. Then right-click on the project and go to ''Properties->Configuration Properties->Linker->Input'' and under ''Additional Dependencies'' remove <code>glaux.lib</code>. | : Remove the line <code>#include <gl/glaux.h></code> from <code>glview.cpp</code>. Then right-click on the project and go to ''Properties->Configuration Properties->Linker->Input'' and under ''Additional Dependencies'' remove <code>glaux.lib</code>. | ||
;fatal error C1083<nowiki>:</nowiki> Cannot open include file<nowiki>:</nowiki> <nowiki>'</nowiki>weapon_sdkbase.h<nowiki>'</nowiki><nowiki>:</nowiki> No such file or directory | |||
See article<nowiki>:</nowiki> http://developer.valvesoftware.com/wiki/Source_SDK_missing_files | |||
== Precompiled Headers == | == Precompiled Headers == |
Revision as of 11:55, 27 September 2011
Visual Studio 2010 is the best choice for Source. You can use the free C++ Express edition.

game\server\swarm_sdk_server.vcproj
with a text editor and delete "' $File
" from line 2232. [todo tested in ?]Debugging
- Follow the instructions for fixing debug compiles in VS2008, which apply here as well.
- Right click on the client and server projects in VS and go to Properties > Configuration Properties > General. Change Target Name to client and server respectively.
File Copying
There is a bug in VS 2010 which will sometimes prevent your newly-compiled DLLs from being copied to your mod directory. To fix it, right-click on the client and server projects in VS and select Properties. Change the Configuration drop-down menu at the top to All Configurations. Then, go to Configuration Properties > Custom Build Step and in the Additional Dependencies field, type in $(TargetPath).
IsBIK error
First, save this code to src/public/avi/ibik.h
.
Then in src/game/client/enginesprite.h
include avi/ibik.h
and add insert the hightlighted lines toward the bottom:
bool IsAVI();
bool IsBIK();
void GetTexCoordRange( float *pMinU, float *pMinV, float *pMaxU, float *pMaxV );
private:
AVIMaterial_t m_hAVIMaterial;
BIKMaterial_t m_hBIKMaterial;
Now open spritemodel.cpp
and add the following:
bool CEngineSprite::IsBIK()
{
return ( m_hBIKMaterial != BIKMATERIAL_INVALID );
}
Fixing Other Compiling Errors
- Error LNK2005: ... already defined in memoverride.obj
- See Compiling under VS2008#Fix debug compilation.
- Linker Errors relating to LIBC, LIBCMT, LIBCD, LIBCMTD
- Go to the client project's Properties->Linker->Input->Ignore Specific Default Libraries and enter
libc;libcmtd;libcd;
. Navigate to the same place in the server project properties and enterlibcd;libcmtd;
. - Cannot locate "gl/glaux.h" (glview only)
- Remove the line
#include <gl/glaux.h>
fromglview.cpp
. Then right-click on the project and go to Properties->Configuration Properties->Linker->Input and under Additional Dependencies removeglaux.lib
.
- fatal error C1083: Cannot open include file: 'weapon_sdkbase.h': No such file or directory
See article: http://developer.valvesoftware.com/wiki/Source_SDK_missing_files
Precompiled Headers
If you want to remove the "precompiled header" warnings seen during a full compile, open these files in your client project and move #include "cbase.h"
up to the first line:
- hud_locator.cpp
- hud_credits.cpp
- hud_flashlight.cpp
Compiling Under Linux
VS 2010 introduces a new project file format (.vcxproj
) which is not compatible with the SDK's VprojToMake
tool. A third-party update adding support is available.