Compiling under VS2010
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
Es gibt einen bug in VS2010, welcher manchmal verhindert das die neu kompilierten DLLs in das Verzeichniss deiner Mod kopiert verden. Um das zu verhindern, rechtsklicke jeweils das Client- und dass Server-Projekt in VS und wähle Einstellungen (Properties) aus. Verändere das drop-down Menü Konfiguration (Configuration) oben links zu Alle Konfigurationen (All Configurations). Danach wähle Konfigurationseigenschaften > Benutzerdefinierter Buildschritte (Configuration Properties > Custom Build Step) und gebe im Feld Zusätzliche Abbhängigkeiten (Additional Dependencies) "$(TargetPath)" ein.
IsBIK Error
Zuerst speichere ibik.h in src/public/avi/ibik.h
ab.
Dann füge folgendes zur Includelist von src/game/client/enginesprite.h
hinzu:
#include "avi/ibik.h"
Als nächstes musst Du die folgenden Zeilen Code in der Nähe von Zeile 53 (irgentwo am Ende) hinzufügen:
bool IsAVI();
bool IsBIK();
void GetTexCoordRange( float *pMinU, float *pMinV, float *pMaxU, float *pMaxV );
private:
AVIMaterial_t m_hAVIMaterial;
BIKMaterial_t m_hBIKMaterial;
Als letztes musst Du spritemodel.cpp
(im selben ordner) öffnen und da wo Platz ist das hier hinzufügen:
bool CEngineSprite::IsBIK()
{
return ( m_hBIKMaterial != BIKMATERIAL_INVALID );
}
Beheben von anderen Fehlern bie der Kompilierung
- Error LNK2005: ... already defined in memoverride.obj
- Schaue unter Compiling under VS2008#Fix debug compilation.
- Linker Fehler die mit LIBC, LIBCMT, LIBCD, LIBCMTD zutun haben
- Gehe in die Einsellungen vom Client-Projekt Einstellungen->Liker->Eingabe->Bestimmte Standartbibliotheken ignorieren (Properties->Linker->Input->Ignore Specific Default Libraries) und gebe
libc;libcmtd;libcd;
ein. Gehe an die gleiche stelle in den Servereinstellungen und gebelibcd;libcmtd;
ein. - Cannot locate "gl/glaux.h" (nur glview)
- Entferne die Zeile
#include <gl/glaux.h>
ausglview.cpp
(gespeichert unter src/utils/glview). Dann rechtsklicke das Projekt und gehe zu Einstellungen->Konfigurationseigenschaften->Linker->Eingabe (Properties->Configuration Properties->Linker->Input) und entferneglaux.lib
aus Zusätzliche Abhängigkeiten (Additional Dependencies). - Warning MSB8012: TargetPath does not match the Linker's OutputFile property ...
- Gehe zu Einstellungen->Konfigurationseigenschaften->Allgemein (Properties->Configuration Properties->General). Verändere den Inhalt von Ausgabeverzeichniss (Output Directory), Zwischenverzeichniss (Intermediate Directory), Zielname (Target Name), und Zielerweiterung (Target Extension) so, das sie dem in der Fehlermeldung angegebenen Dateipfad entspricht.
- fatal error C1083: Cannot open include file: 'weapon_sdkbase.h': No such file or directory
- Schaue in den Artikel : http://developer.valvesoftware.com/wiki/Source_SDK_missing_files
Vorkompilierte Headers
Wenn Du die "Vorkompilierter Header" bzw. "Precompiled Header" Warnungen loswerden möchtest, dann öffne diese Datein und bewege #include "cbase.h"
in die erste Zeile:
- hud_locator.cpp
- hud_credits.cpp
- hud_flashlight.cpp
First-chance exception at 0x00000000
If Client compiles but Server does not, and you have set your mod up for debugging, hl2.exe will crash with extremely ambiguous information. To prevent the game from running if Server does not successfully compile, right click the client project file and select Project Dependencies. Check the checkbox for Server and then click OK.
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.