Компиляция MaNGOS под Win
Автор : RusDaiveR
Взято : Форум Mangos.ru Инструкция написана 09.02.2007. Кто хочет - может написать свою. Не найдя такой темы на форуме, решил написать этот гид. Использую материалы, собранные по разным форумам. Делаю акцент на то, что у вас уже должен быть установлен .Net FrameWork 3.5. Получаем исходники: 1. Скачиваем программу Git Устанавливаем ее. 2. Создаем папку MaNGOS_SOURCES в любом месте. Кликаем правой кнопкой по этой папке, выбираем в меню "Git Bash Here", и пишем в открывшуюся консоль команду Код:
git clone git://github.com/mangos/mangos.git Для обновления исходников кликаем правой кнопкой по все той же папке и пишем Код:
git pull origin master Компилируем исходники: 1. Для начала вам необходим Microsoft Visual Studio C++ (2005, 2008). 2. После установки MVSC++ EE, вам понадобится скачать и установить нужные билиотеки. Скачать тут: _http://for-you.ifolder.ru/561374. После скачивания, распаковать в папку \Путь к MVSC++\Microsoft Visual Studio 8\SDK\v2.0, если будет спрашивать заменять ли файл или нет - заменяйте. На этом установка необходимого ПО завершена. 3. Заходите в папку \Папка с исходниками\win - запускаем соответственно те файлы, которые соответствуют вашей версии студии. mangosdVC80.sln - Microsoft Visual Studio 2005 mangosdVC90.sln - Microsoft Visual Studio 2008 mangosdVC100.sln - Microsoft Visual Studio 2010 4. Кликайте Build на панели вверху, затем Batch Build... - поставить галки везде, где написано Release. Теперь кликаем справа вверху этого окна кнопку Build. Все - компиляция началась. По завершению компиляции добавляем СкриптДев (НЕ ОБЯЗАТЕЛЬНО, сервер будет работать и без него, но мобы не будут кастовать, боссы будут просто тупо бить, а дровосеки не будут рубить дрова). Добавляем ScriptDev: TortoiseSVN офф сайт, качаем (руссификация прилагается) 1. Создаем в папке C:\Папка с исходниками\src\bindings\ папку ScriptDev2. 2. Кликаем правой кнопкой по ней, затем SVN CheckOut. В поле URL of repository вставляем следующий линк: _https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ и нажимаем ОК. Начинается загрузка исходников скриптдева. (для обновления используем правую мышу на папке с ScriptDevD2 и выбираем пункт SVN Обновить) 3. Требуется только для Линукса: 4. Заходим в C:\Папка с исходниками\src\bindings\ScriptDev2, далее запускаем соответственно те файлы , которые соответствуют Вашей студии mangosdVC80.sln - Microsoft Visual Studio 2005 mangosdVC90.sln - Microsoft Visual Studio 2008 mangosdVC100.sln - Microsoft Visual Studio 2010 Кликайте Build на панели вверху, затем Batch Build... - поставить галки везде, где написано Release. Теперь кликаем справа вверху этого окна кнопку Build. Все - компиляция началась. После завершения компиляции заберите все *.exe и *.dll файлы из \Папка с исходниками\bin\release\, остальные нас не интересуют. Конфиги лежат в папках: \Папка с исходниками\src\mangosd\ mangosd.conf.dist.in \Папка с исходниками\src\realmd\ realmd.conf.dist.in \Папка с исходниками\src\bindings\ScriptDev2\scr iptdev2.conf.dist.in Если вы предельно точно следовали этой инструкции, то у вас все получится. В итоге вы получите MaNGOS + ScriptDev без патчей. Чтобы не было лишних вопросов по компиляции: 1. не создавайте папки с русскими именами и пробелами!!! 2. давайте имена не более 8 символов 3. забудьте про папки на "Рабочем столе" 4. Держите оригинальные версии исходников в отдельном месте 5. Компилируйте и патчи накладывайте в тестовых копиях исходников 6. Обновляйте гитом и черепахой оригинальные исходники |
Цитата:
У меня стоит Visual Studio 2008 Professional Edition SP1 и Библиотеки MSDN для Visual Studio 2008 (нас универ снабжал лицензиями от мелкософта, так и осталось (~7гб установочников). |
Вложений: 1
Здравствуйте. Моя проблема чем-то похожа на проблема Stink'a, с той лишь разницей, что повторное применение патча ничем ситуацию не меняет. И применялся ли он до или после компиляции мангоса - разницы ноль.
Вот, посмотрите пожалуйста, прикрепил скрин. Далее сколько ни откатывай и не применяй заново - картина не меняется. Буду очень благодарен любому дельному совету по этому поводу! Если где-то ответ на сей вопрос был и я не заметил, не ругайте уж сильно, поделитесь ссылочкой. =) Всем заранее спасибо! З.Ы. Если применять второй способ: "patch -p1...", то вроде бы патч применяется, но уверенности у меня нет. ------------------- Правила, А-6 |
Цитата:
|
Вложений: 1
Ну, перый вопрос я пропущу. Вот, приложил скрин с итогами применения на чистые исходники. Название применяемого патча видно на скрине. ScriptDev сегодняшняя, версии 1545. Ревизию ядра я, как бы это абсурдно не звучало, не знаю, где смотреть. Если ориентироваться по последнему sql-апдейту, который лежит в исходниках - версия 9198. Если по последнему коммиту - 9202.
|
Цитата:
|
Цитата:
2. Ревизию ядра смотреть в файле /git/mangos/src/shared/revision_nr.h, третья строка. 3. Судя по скрину - патч отлично применился. В файле configure.ac сдвинуты строки, все нормально. 4. *Крайне рекомендуется* Убрать из путей к исходникам все кириллические символы. Также не рекомендуется имя пользователя и название компа с кириллическими символами. 5. *Вопрос на засыпку* А на венде это вообще нафиг патчить? Вроде бы заменяется только файло линуксового компила: configure.ac и Makefile.am? Про .gitignore я вообще промолчу... |
tempura, Кот ДаWINчи, благодарю! Наверное моё признание в незнании выглядело нелепо, но уж лучше прямо сказать, чем делать вид, а потом придумывать нелепые отмазы.
tempura, отдельное мерси за 4-й пункт, хотя не знаю, зачем это, но знающим виднее. Ну и вопрос на засыпку.. Отвечаю: Не знаю: делал строго по инструкции из документации по MaNGOS'у, взятой когда-то на гетмангосе. Там в установке SD2 под виндовс был пункт "патчить", я его и делал, хотя вроде видел в мануальчике в репозитории SD2, что патч не обязателен, но слушался наших. Ещё раз спасибо за ответы и советы! |
В командной строке венды кириллица иногда сглючивает, а git bash идет именно через командную строку. Есть нехреновый шанс, что git просто не будет работать, либо будет работать некорректно. Вообще в названиях файлов-папок использовать символы отличные от стандарта латиницы - это недостаток для разработчика...
|
Хм... Вот оно что! Что ж, благодарствую, буду знать!
|
Здравствуйте,вчера решил попробовать скомпилировать "сорсы" мангоса на Microsoft Visual Studio 2008 и столкнулся с проблемой компиляции scriptdev2. Проблема в том,что на сервере не работают скрипты. Сервер запустился без ошибок(лог пуст) но скрипты так и заработали. Компилирование скриптов прошло удачно(0 ошибок 0 предупреждений).
Ещё один нюанс заключается в том,что файл "mangosscript" при моём компиле весил 400кб а нормальные(прим. Каратель) весят около ~2мб. Подскажите в чём могла быть моя ошибка. Спасибо. |
virusav, Sark, вот наш уважаемый tempura написал выше:
Цитата:
|
вот именно. собрана только дефолтовая минимальная скриптовка mangos.
cursecom Две недели на перечитывание главы "Добавляем ScriptDev" из шапки. |
В этом же посте на РУ Мангос было о наложении патчей (как пример, разбирался патч на SD2):
Код:
Наложение патчей на SD2 Пока делаю так: 1. Жму на папке с сорцами sd2 правой кнопкой и выбираю git bash 2. Указываю на патч => пишет, что применен. Вместо SVN так можно патчить? |
Цитата:
Цитата:
|
По данному мануалу работал - стянул сорцы через SVN в src/bindings/scriptdev2 исходников git. Буду знать
Eye_of_akerus патч ставил. при указанном мной способе патчился файл Ebon_Hold.cpp, он в директории SD2 и относится как раз к Акерусу. Спросил, потому что до конца не уверен в таком способе. Примечание: по Код:
1. не создавайте папки с русскими именами и пробелами!!! |
1 Скачиваю сорцы через гит.
2 Запускаю файл mangosdVC90.sln т.к. установлена студия 2008. 3 В верхней части студии можно сразу выбрать тип компиляции, т.е. ставлю Release и рядом выбор битной системы, т.е. ставлю х64. 4 Жму вкладку построение и выбираю "построить решение". Происходит компиляция, но в конечной строке пишет: успешно: 1, пропущено: 12. При компиляции на х32 проблем нет, т.е. в конце пишет: успешно: 13. Аналогично с компиляцией скриптдев2. ПС: писал в свободном стиле. :) |
А при установке студии, вы не поставили галочку
http://www.imageup.ru/img47/axvat-1271888.jpg |
У меня тут такая проблема с git GUI при выполнении любого действия выходит такая ошибка :
Код:
child process exited abnormally |
может задать вопрос автору данной программы?
а вообще лучше использовать git bash here заместо git gui here |
а как определить какая ревизия ядра под какую версию клиента ?
Почитать логи коммитов и посмотреть содержимое AuthCodes.h |
Ошибка
А все уже разобрался.
Просто если версия studio 2008 библиотеки никакие закидывать не надо.А я закинул и была ошибка,а теперь все ок. ------------------- Просьба привести в соответствие с Правилами составления баг-репортов. |
Текущее время: 20:29. Часовой пояс GMT +4. |
YTDB - MaNGOS DataBase