Как скомпилировать Seman (набор инструментов aot.ru) под Windows?

Сразу хочу предупредить, что программирование — моё хобби, поэтому элементарных вещей из процесса компиляции я могу не понимать. Буду благодарен за любую помощь, советы, подсказки. Пишите — не стесняйтесь. Спасибо!

Скачиваю набор инструментов с SourceForge.


В папке \trunk\Source\ находятся папки с проектами. Например, в папке с демо синтаксического разбора предложения \trunk\Source\TestSeman\ находятся 3 файла:

TestSeman.vcproj

TestSeman.cpp

Makefile



При попытке скомпилировать в VS, получаю:

LNK2019: ссылка на неразрешенный внешний символ...


Если я правильно понял, это происходит из-за того, что в проекте не указаны необходимые .lib файлы. За это и должен отвечать файл Makefile. Т.к. на Windows скрипт из него не запустить (я прав?), необходимо вручную указать в проекте все .lib файлы.


В папках, где по идее должны быть .lib и .dll файлы их нет, но есть их проекты. При чем, в каждой папке Makefile с указанием библиотек.

Вопросы:


Чтобы скомпилировать пример из TestSeman, мне необходимо скомпилировать все библиотеки, учитывая, что для компиляции каждой из них предварительно может понадобиться скомпилировать другие библиотеки?


Я всё правильно понял?


Если да, то неужели нет более простого пути (в части Makefile'ов под Windows и компиляции всего сразу)?


Как это делается на UNIX-системах?


Как бы вы решили проблему компиляции TestSeman под Windows?


Заранее спасибо за ответы, за помощь!
  • Вопрос задан
  • 3318 просмотров
Решения вопроса 1
@MikhailEdoshin
Я бы поставил cygwin (это такой мини-Unix под Windows). Там всё нужное есть или ставится через программу установки. Там бы и собрал.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@phasma
> Как это делается на UNIX-системах?

yum install bison flex pcre g++
sh build.sh

seman.svn.sourceforge.net/viewvc/seman/trunk/readme?revision=177&view=markup
Ответ написан
Комментировать
@SmartFrog
Йоху, у меня скомпилировалось под VS 2010. Правда, как обычно с микрософтом, куча link error и шаманства.
Действия следующие.
1) Конвертируем translator.sln в современный проект.
1a) В переменную среды RML складываем корневую папку распакованного архива.
2) Для проекта SimpleGrammarLib скачиваем и прикручиваем flex и bison в настройках сборки.
3) Запускаем солюшн на компиляцию.
4) Правим синтаксические огрехи, выползшие от несовместимости библиотек: у pow(erg) аргумент насильно приводим к double: pow((double)arg), и увеличиваем длину строк в RusGramTab.h.
5) Некоторые dll-rb не копируются после сборки в bin, я это делала руками и запускала regdll.
6) Несколько раз запускаем компиляцию в режиме release. Повторяем шаги 5 и 6, пока не получим нужные dllки. Если не помогает, читаем ошибки компиляции.
7) После этого у меня родился seman.dll и всё ему сопутствующее. Моя цель была достигнута.
7а) Если не помогло, напишите сюда, я скину сконвертированные файлы.
Ответ написан
@gena09
Пишу на Delphi XE. Читал, что AOT хорошая для свободного ПО. Если можно, сбросьте откомпилированные файлы на gena09@mail.ru. Будет интересно подключить их к своим проектам. Спасибо.
Ответ написан
Комментировать
@RGBvision
SmartFrog Понимаю, что уже прошло очень много времени, но буду надеяться, что актуальность пункта 7а не потеряна. Собственно, есть ли скомпилированная система под Win 8.1?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы