Компиляция исходного кода модификации с использованием free software

Материал из Наша Wiki - Наша энциклопедия Half-Life
Перейти к: навигация, поиск

Как известно, исходный код модификаций из Source SDK предназначен для компиляции под MSVS 2003 (2005). Однако, относительно высокая стоимость данного ПО заставляет задумываться об альтернативном решении :).

Итак, бесплатное программное обеспечение, которое необходимо для сборки и компиляции исходников Source Engine:

Code::Blocks – графическая оболочка;

Visual Studio Express Edition – компилятор;

DirectX SDK, Platform SDK – набор соответствующих библиотек.


После установки ПО, можно приступить к настройке. Запустив Code::Blocks, жмем File->Import project->MS Visual Studio project (или solution – по обстоятельствам). В открывшемся диалоге находим необходимый файл и жмем ОК. В ответ на запрос IDE об используемом компиляторе нужно выбрать тот, который скачали (visual studio 2003/2005). Тут начинается самое интересное :). Несмотря на то, что в файлах проекта будут видны и .lib файлы, их все-таки необходимо подключить вручную. Список необходимых .lib файлов приведен ниже.

Для client.dll:

bitmap.lib

nvtc.lib

tier0.lib

tier1.lib

tier2.lib

mathlib.lib

vgui_controls.lib

vstdlib.lib


Для server.dll:

choreoobjects.lib

tier0.lib

vgui_controls.lib

mathlib.lib

tier1.lib

vstdlib.lib


Все они находятся в MyMod\lib\public\ Также в оба проекта нужно подключить user32.lib из Microsoft Platform SDK 2003 R2\Lib\ Для того, чтобы подключить библиотеки, выберите в code::blocks пункт Project->Build options->Linker settings. После этого при помощи кнопки Add в поле Link libraries добавьте все необходимые файлы (user32.lib должен быть первым в списке).


Если все сделано правильно (с), то при нажатии на кнопку Build проект соберется без единой ошибки :). Если Вы видите огромное количество ошибок с магическим словом «…undefined…» - это верный признак того, что какую-то библиотеку Вы все-таки забыли.


Ссылки: 1. Visual Studio Express

2. Code::Blocks

3. Platform SDK

4. DirectX SDK