A.I.M.(http://forum.ja2.su/cgi-bin/yabb/YaBB.pl)
Обсуждаем игры >> Гробокопатели >> Как собрать исходники...
(Message started by: jarni на 05.01.2009 в 21:05:02)

Заголовок: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 21:05:02
Когда закончу, тему можно закрыть или переместить в более подходящее место.

Мануал
"Как собрать исходники JA2 Gold 1.12 с помощью MS Visual Studio 2005".
Тоже самое практически без изменений действует и для бесплатной MS VisualStudio 2009. Предполагается что исходники gold_source.rar выложенные на сайте ja2.su скачаны, а студия установлена.

1. Распаковываем архив в корень С:\. Можно не распаковывать всё, нужны только папки ja2 и Standard Gaming Platform. В результате должно получится так: С:\ja2 и С:\Standard Gaming Platform.

2. Открываем в Студии workspace файл.
[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 21:08:32
3. На всплывшее окошко тыкаем Yes to All. Студия просит сконвертировать файл рабочей области шестой студии в свой формат .sln.
[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 21:11:43
3. Студия говорит что служба контроля исходником (свободный перевод) не доступна и спрашивает удалить ли ссылку на эту службу навсегда. Здесь выбираем "Да" или "Yes" или всё что переводится как "Да" на языке установленном в винде. У меня чешский, поэтому у меня пишет "Ano", на это не обращаем внимания, главное суть.
[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 21:16:21
4. Вот так приблизительно должно выглядеть. Слева (у меня) дерево проэктов.

[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 21:48:12
5. Наше решение (солюшн, solution, то во что превратилась после пункта 2 наша рабочая область, тобишь workspace) имеет аж 8 конфигураций. Нам нужны только Debug и Release. Выбрать нужную можно через меню конфигураций (на скрине пункта 4, под меню Windows виден текст Demo Bound). Выбираем Debug.

6. Выбираем нужный нам проэкт. Их у нас 9 и перечислены они у меня на скрине слева. Нам нужен ja2. Его нужно выбрать как актуальный. Делается это ПКМ на нём и выбора пункта меню Set as Startup Project.

[attach]

Заголовок: [b][/b]Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 22:04:45
Если теперь выбрать в меню Build->Rebuild solution то начнётся процес сборки исходников. Этот процесс довольно долгий. Ускоряется путём установки более производительного ЦП, желательно многоядрерного, потому что ВС2005 умеет ми пользоватся. В актуальном, неправленном состоянии у меня вылезли тонны предупреждений (warnings) и центнеры ошибок (errors). Об их устранении и пойдёт речь дальше.
Итак, начнёмс. И начнёмс мы с:
7. Определения двух макросов во всех проэктах.
_CRT_NON_CONFORMING_SWPRINTFS
_CRT_SECURE_NO_WARNINGS

Определяются они так: ПКМ на каждом проэкте в списке слева. Там выбираем пункт Properties. В окне настроек вибираем Configuration properties-> С\С++ -> Preprocessor. В поле Preprocesor definitions добавляем выше указанные макросы в конец, через точку с запятой. Напоминаю, данную процедуру нужно повторить для всех проэктов! Так, этот процесс нужно будет повторить и для Release конфигурации.

[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 22:17:36
Если повторить ребилд всего солюшена (не рекомендую) то окажется что варнингов и ошибок в разы меньше. Первая и самая частая:

8. Открываем выше указанный файл JA2 SGP ALL.H слева в дереве проэкта Standard Gaming Platform -> Header -> JA2 SGP ALL.h Находим строку 39 на которой написано #include <iostream.h> и комментируем (//#include <iostream.h>) его или просто удаляем. Решение проблемы: 7>c:\standard gaming platform\JA2 SGP ALL.H(39) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory

[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 22:43:20
9. Файлик c:\ja2\Build\Utils\Quantize.h перетягиваем в студию (делаем это только потому что он не включен в папки заголовочных файлов ни одного из проэктов). Там находим строку 26 и дописываем BOOL перед методом ProcessImage. Решение проблемы: 3>c:\ja2\build\utils\Quantize.h(26) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int.

[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 22:48:09
10. Открываем файлик Quantize.cpp (уже в дереве слева), Utils->Source files->Quantize.cpp. Находим строку 137. Переписываем её так как на скрине, тоесть, удаляем int в forе и декларируем переменную i в начале функции. Решение проблемы: 1>.\Quantize.cpp(137) : error C2065: 'i' : undeclared identifier

[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 23:36:41
11. Ну и последний финт ушами. Очень некрасивый, но пока заставить это работать иначе не получается (разве что пользовать мануал в теме по исходникам). Нужно в глобальных путях студии прописать путь в папки ja2 и SGP. Выбираем Tools->Options->Projects and Solutions -> VC++ Directories. Слева вверху в меню Include directories и пишем как на скрине (выделение и под выделением).

[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 23:38:34
12. Продолжение финта ушами. Там же выбираем вместо Include files Library files и пишем только папку SGP как на скрине.

[attach]

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 23:44:15
13. Ещё одно продолжение. Для того чтобы собралась Debug версия проэкта, нужно в настройках проэкта ja2 -> Linker -> Input -> Additional dependencies удалить vtuneapi.lib, потому что его вроде нету и ничего от него не зависит. Как зайти в настройки смотреть пункт 7.

Заголовок: Re: Как собрать исходники...
Прислано пользователем jarni на 05.01.2009 в 23:50:38
Ну вроде всё. Посли этих несложных манипуляций в папке c:\ja2\ наконец появился долгожданный ja2.exe. Надо помнить что это англицкая версия, поэтому гарантий что заработает с русскими файлами нету (у меня крякозябры вместо текста). Также надо помнить что дебаг версия запускается в оконном режыме и только с условием что в настройках видяхи установлена 16-битная глубина цвета.

Все обсуждения будем вести здесь (http://forum.ja2.spb.ru/cgi-bin/yabb/YaBB.pl?board=gravediggers;action=display;num=1079098460).



A.I.M. » Powered by YaBB Modification 4 (v.4.0.0-pre)!
YaBB © 2000-2003. All Rights Reserved.