Как скомпилировать движок?

Тема в разделе "Машинное отделение", создана пользователем Алексей Н., 9 сен 2008.

  1. TopicStarter Overlay

    Алексей Н. Алексей

    • Участник
    Рег.:
    22.01.2008
    Сообщения:
    160
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Столица Сибири
    Оффлайн
    Вопрос к специалистам: что мне нужно сделать, чтобы самому скомпилировать движок (Стрелку) по имеющимся исходникам? Какой компилятор лучше использовать и где его можно взять? Какие действия надо совершить? Если об этом можно почитать в сети, то где? (компиляция нужна под Windows). Заранее спасибо.
  2. thenewone Евгений Манев

    • Участник
    • Старожил
    Рег.:
    09.06.2006
    Сообщения:
    3.173
    Симпатии:
    18
    Репутация:
    1
    Адрес:
    Пловдив
    Оффлайн
    У меня такие же проблемы. Я совсем новичок в этом деле. Хочется скомпилировать Крафти Новус, версию Роберта Джурджевича. Скачал Visual, но совсем не могу управиться. Дайте хотя бы hint где искать.
  3. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Алексей Н.
    В исходниках стрелки есть проект для Visual C++ 6.0. В других версиях придется проект делать самому.

    thenewone
    Вот что я припоминаю.
    В проект надо добавить crafty.c и сишные файлы которые в нем не подключаются, а также egtb.cpp.
    И еще я вроде, чтобы избежать всяких проблем, переименовывал все *.c в *.cpp.
  4. дуп Учаcтник

    • Участник
    Рег.:
    11.09.2007
    Сообщения:
    113
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Великий Новгород
    Оффлайн
    Если вас интересует только Стрелка, то действительно, ищите 6-ю студию. В более поздних скомпилить будет не очень просто. Компилятор вывалит вам кучу ошибок, думаю, не одну сотню. Придется разбираться, бессмысленная трата времени и нервов.
  5. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У меня Стрелка без проблем компилируется и в восьмой студией.
  6. дуп Учаcтник

    • Участник
    Рег.:
    11.09.2007
    Сообщения:
    113
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Великий Новгород
    Оффлайн
    В нетронутом виде? Создаете проект, копируете туда файлы, нажали F7 и все получится? Я вот сейчас специально попробовал, у меня получилось 619 ошибок :(
  7. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Нужно не все файлы добавлять.
  8. дуп Учаcтник

    • Участник
    Рег.:
    11.09.2007
    Сообщения:
    113
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Великий Новгород
    Оффлайн
    У меня их всего 11. Вряд ли там лишние есть :/
  9. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Лишних нет, но в проект добавлять все не надо.
  10. дуп Учаcтник

    • Участник
    Рег.:
    11.09.2007
    Сообщения:
    113
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Великий Новгород
    Оффлайн
    В данетки хотите поиграть? :)
  11. ChessTerminator75 Андрей

    • Участник
    Рег.:
    22.05.2007
    Сообщения:
    121
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Челябинск
    Оффлайн
    Со Стрелкой явно что-то не то.
    Честно говоря особо не пытался но с первого раза завести не удалось.

    А Крафти вообще на Си написан и это надо учитывать.

    Лучше всего компилируется Fruit.
    У меня с ним никогда вопросов не было.
    Просто идеальный движок и по коду и по сборке!

    Ну еще можно Micro-Max в пример привести :)

    Кстати если раньше с Грекой были проблемы то сейчас
    компилируется на ура.
  12. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    В Strelka.c есть такой код:
    Код:
    #include "trans.c"
    #include "board.c"
    #include "search.c"
    #include "eval.c"
    #include "genmov.c"
    #include "utils.c"
    #include "emater.c"
    Поэтому эти файлы нельзы подключать к проекту.
    Как легко заметить остается только подключить strelka.c, consts.c, parse.c - и можно компилировать. :)
  13. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.492
    Симпатии:
    3.124
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Ага, видимо после того, как файл unix.cpp был защищён инструкциями препроцессора от компиляции под MSVC :)
  14. TopicStarter Overlay

    Алексей Н. Алексей

    • Участник
    Рег.:
    22.01.2008
    Сообщения:
    160
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Столица Сибири
    Оффлайн
    Спасибо за помощь. Скачал Visual C++ 6.0, распаковал, только не понял как его инстолировать. При распаковке возникает 8 папок, в каждой есть зкзешные файлы. Мне что, в папку "Setup" идти?
  15. Vladimirovich Консультант

    • Ветеран
    • Старожил
    Рег.:
    27.09.2006
    Сообщения:
    6.007
    Симпатии:
    810
    Репутация:
    31
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Зачем проект самому делать если он уже для 6.0 есть? Так VS2003 dsw и dspшники отлично понимает.
  16. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.492
    Симпатии:
    3.124
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    А старшие версии студии, по идее, должны уметь конвертировать проекты от младших.
  17. Vladimirovich Консультант

    • Ветеран
    • Старожил
    Рег.:
    27.09.2006
    Сообщения:
    6.007
    Симпатии:
    810
    Репутация:
    31
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Всяко.
    А если вылезут ошибки, то они не в студии, а в генах :lol:
  18. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.492
    Симпатии:
    3.124
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    В 6-й студии тоже ошибки были, в том числе в компиляторе и библиотеках.
  19. Vladimirovich Консультант

    • Ветеран
    • Старожил
    Рег.:
    27.09.2006
    Сообщения:
    6.007
    Симпатии:
    810
    Репутация:
    31
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Я пошутил.
    Насчет VS6 надо бы SP не раньше 4-того. А VS2003 и особенно VS2005 критичнее к кривизне кода.
  20. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Они и умеют, только очень конвертер глючит. Так что лучше от конвертирования совсем отказаться.
  21. thenewone Евгений Манев

    • Участник
    • Старожил
    Рег.:
    09.06.2006
    Сообщения:
    3.173
    Симпатии:
    18
    Репутация:
    1
    Адрес:
    Пловдив
    Оффлайн
    Про Crafty и Visual 2008.
    Извиняюсь, если досаден.
    Дело в том, что я начинаю спотыкаться еще с пуском программы.
    Там надо New Project сделать. Какой? Win32 или Console? Потом /файлы .c в .cpp я уже переименовал/ : какие файлы надо выбрать для компиллирования? Где это узнать? К тому же в Visual 2008 "Compile" нет, кажется, есть только "Build", полагаю это одно и то же.
    У Crafty есть Makefile. Можно ли его использовать? Как? :)
    Спасибо.

    PS: Под Linux все было намного легче :)
  22. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Нужно заглянуть в crafty.c и удалить из проекта все файлы, которые там перечислены.
  23. TopicStarter Overlay

    Алексей Н. Алексей

    • Участник
    Рег.:
    22.01.2008
    Сообщения:
    160
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Столица Сибири
    Оффлайн
    Люди! Можно объяснить для совсем тупых, что делать с этим Visual C++ 6.0? Я скачал, а там куча папок, файлов, куда идти и что с ними делать, понятия не имею. Вы говорите, у Стрелки уже есть готовый проект, но что именно нужно сделать, чтобы ее собрать, я так и не понял. Можно краткую инструкцию в стиле: зайди туда, скопируй то, запусти это и т. д.?
  24. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я не знаю что там именно ты скачал, т.к. сам не скачивал.

    Если там не дистрибутив, а уже готовая к употреблению студия, то ее можно запустить так:
    \Common\MSDev98\Bin\MSDEV.COM

    Для работоспособности редактора+компилятора установка не требуется.
  25. krey Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    скорее msdev.exe
  26. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Его тоже можно. Но, насколько я помню, после установки Студии создается линк именно на COM.
  27. TopicStarter Overlay

    Алексей Н. Алексей

    • Участник
    Рег.:
    22.01.2008
    Сообщения:
    160
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Столица Сибири
    Оффлайн
    Запустил, наконец, хотя это оказалась версия 4.0 вместо обещанной при скачке 6.0. И еще потребовалось серийник узнавать. Ну а что надо сделать, чтобы создать в Студии проект Стрелка? Сейчас там никаких проектов нет, и не видно куда кликать, чтобы создать новый проект. И что нужно делать с файлами из стрелкиной папки Src и с какими именно? Извиняюсь за свою непроходимую тупость, но я в этом деле полный чайник.
  28. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Может и не стоит тогда возиться? Более подробно чем в посте #12 я уж не смогу объяснить.
  29. TopicStarter Overlay

    Алексей Н. Алексей

    • Участник
    Рег.:
    22.01.2008
    Сообщения:
    160
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Столица Сибири
    Оффлайн
    Ну почему же не стоит. Все когда-то начинаешь делать в первый раз. Проект я вроде создал, включил в него 3 файла из 12 поста. Попробовал скомпилировать, не получилось, выдала 106 ошибок.
  30. krey Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    просто 4-я студия поддерживает свой стандарт С, который отличается от стандарта. естественно будут ошибки с совместимостью.
  31. дуп Учаcтник

    • Участник
    Рег.:
    11.09.2007
    Сообщения:
    113
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Великий Новгород
    Оффлайн
    Должно и в четвертой получиться. В этом деле чем древней IDE, ем лучше.

    А какие ошибки то пишет?
  32. Vladimirovich Консультант

    • Ветеран
    • Старожил
    Рег.:
    27.09.2006
    Сообщения:
    6.007
    Симпатии:
    810
    Репутация:
    31
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Народ, вы меня заинтересовали.
    Дайте плиз линку на исходники.
  33. TopicStarter Overlay

    Алексей Н. Алексей

    • Участник
    Рег.:
    22.01.2008
    Сообщения:
    160
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Столица Сибири
    Оффлайн
    Да разные выдает ошибки. Вот например:

    Compiling...
    PARSE.C
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(82) : error C2223: left of '->_cnt' must point to struct/union
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(85) : warning C4013: 'GetStdHandle' undefined; assuming extern returning int
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(85) : error C2065: 'STD_INPUT_HANDLE' : undeclared identifier
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(85) : warning C4047: '=' : 'void *' differs in levels of indirection from 'int '
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(86) : warning C4013: 'GetConsoleMode' undefined; assuming extern returning int
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(88) : warning C4013: 'SetConsoleMode' undefined; assuming extern returning int
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(88) : error C2065: 'ENABLE_MOUSE_INPUT' : undeclared identifier
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(88) : error C2065: 'ENABLE_WINDOW_INPUT' : undeclared identifier
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(89) : warning C4013: 'FlushConsoleInputBuffer' undefined; assuming extern returning int
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(93) : warning C4013: 'PeekNamedPipe' undefined; assuming extern returning int
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\PARSE.C(97) : warning C4013: 'GetNumberOfConsoleInputEvents' undefined; assuming extern returning int
    Strelka.c
    C:\Program Files\Arena1.1\Engines\Strelka2.0\SRC\Strelka.c(90) : error C2365: 'Random' : redefinition; previous definition was a 'function'
    c:\program files\windows ce tools\wce400\standardsdk\include\mipsii_fp\winbase.h(439) : see declaration of 'Random'
    c:\program files\arena1.1\engines\strelka2.0\src\board.c(71) : error C2109: subscript requires array or pointer type
    c:\program files\arena1.1\engines\strelka2.0\src\board.c(71) : error C2109: subscript requires array or pointer type
    c:\program files\arena1.1\engines\strelka2.0\src\board.c(71) : error C2297: '^=' : illegal, right operand has type 'unsigned long (__cdecl *)()'
    c:\program files\arena1.1\engines\strelka2.0\src\board.c(78) : error C2109: subscript requires array or pointer type
    c:\program files\arena1.1\engines\strelka2.0\src\board.c(78) : error C2109: subscript requires array or pointer type
    c:\program files\arena1.1\engines\strelka2.0\src\board.c(78) : warning C4047: '=' : 'unsigned __int64 ' differs in levels of indirection from 'unsigned long (__cdecl *)()'
    c:\program files\arena1.1\engines\strelka2.0\src\board.c(81) : error C2109: subscript requires array or pointer type

    Ну и так далее. Похоже там и в самом деле что-то несовместимо. Либо я проект сделал как-то криво. Она очень многое считает неопределенным или неописанным. Может, не видит какие-то файлы?
  34. Vladimirovich Консультант

    • Ветеран
    • Старожил
    Рег.:
    27.09.2006
    Сообщения:
    6.007
    Симпатии:
    810
    Репутация:
    31
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Дальше можно не продолжать. Если это работало то Header накрылся.
  35. TopicStarter Overlay

    Алексей Н. Алексей

    • Участник
    Рег.:
    22.01.2008
    Сообщения:
    160
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Столица Сибири
    Оффлайн
    Ну и что теперь? Доставать 6-ю студию все таки?

Поделиться этой страницей