UniOffice/Build/BuildInWindows

Материал из Etersoft wiki
Перейти к: навигация, поиск
Wackowiki-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была автоматически перемещена с old.wiki.etersoft.ru.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Сборка Unioffiсe@Etersoft в OC Windows



Инструменты необходимые для сборки Unioffice@Etersoft

1. git - программа для управления git репозиторием под ОС Windows. (Необходима, если вы хотите, автоматически обновлять исходники, в противном случае эта программа вам не нужна)


2. DevCpp - бесплатная среда разработки от Bloodshed Software, использующая компилятор mingw (компилятор имеется в дистрибутиве и не требует доп. настройки). Последняя версия 4.9, но возможно подойдет и её дальнейшая разработка WxDevCpp


Установка необходимых инструментов

Git for Windows

Последовательность установки:

  • Запускаем установочный файл

1.PNG

в этом окне жмем дальше. Далее будет показана лицензия с которую, надо принять для продолжения установки.


  • Выбираем папку для установки git

2.PNG


  • Добавляем интеграцию в explorer и значки быстрого доступа, если это необходимо

3.PNG


  • следующем окне выбираем первый вариант установки

4.PNG


  • Выбираем использование OpenSSH

5.PNG


На этом установка GIT завершена, далее необходимо настроить репозитории.


DevCpp

Последовательность установки:

  • Запускаем установочный файл, выбираем язык установки, соглашаемся с лицензией

1.PNG

  • Выбираем тип установки - Full


2.PNG

  • Выбираем паку для установки среды разработки


На этом установка GIT завершена, при первом запуске среды необходимо сделать несколько настроек.


  • Выбрать язык интерфейса

3.PNG


  • В следующем окне выбираем первый пункт. Этим говорим среде, что необходимо перечитать все заголовочные файлы - необходимо для удобства навигации и поиска определений функций.

4.PNG


После этого можно закрыть DevCpp. На этом установка заканчивается и можно переходить к созданию проекта и копированию репозитория



Настройка, получение и обновление Git репозитория

Настройка и получение

При первом запуске GitGUI вы увидите окно представленное на картинке.

nastroika_1.PNG

Здесь необходимо выбрать пункт "Склонировать существующий репозиторий"


nastroika_2.PNG

Далее необходимо ввести ссылку на удаленный репозиторий, в данном случае - и указать каталог, где будет хранится копия репозитория. На картинке это - "C:/Unioffice_Etersoft".
Обратите внимание, что используется обратный слеш, вместо привычного для Windows

После того как указаны параметры клонирования, нажимаем кнопку "Склонировать".

Операция "Клонирование" занимает некоторое время, которое зависит от скорости соединения с internet


Как только клонирование будет завершено, будет показано окно изображенное ниже. Его можно закрыть.

nastroika_3.PNG


Теперь мы можем увидеть, что у нас имеется полная копия репозитория.

nastroika_4.PNG


На этом получение удалённого репозитория закончено.


Обновление репозитория

Запускаем GitGUI

1.PNG

Выбираем ранее созданный свой локальный репозиторий. Достаточно щелкнуть на ссылку с его именем.


2.PNG

После того как будет показано главное окно, переходим к пункту "Внешние репозитории->Получение из -> Origin"


3.PNG

Далее появится окно в котором будет отображен процесс обновления


4.PNG

После того как обновление завершиться, можно закрыть это окно.


5.PNG

Теперь необходимо обновить файлы в репозитории, т.к. пока обновления только скачены, но не применены. Для этого переходим к пункту "Репозиторий -> История всех ветвей наглядно"


6.PNG

Выделить строку с надписью "Remote/origin/master" и в контекстном меню выбрать "reset master branch to here".


7.PNG

В появившемся окне выбрать "Hard" (
Внимание, изменения сделанные в локальном репозитории будут потеряны, что бы не потерять их следует выбирать Mixed или Soft
)


8.PNG

После того как данная операция будет закончена (на рисунке видно, что теперь наша ветка master совпадает с веткой mster удаленного репозитория), необходимо пересобрать проект в DevCpp. Открыть ранее созданный проект и запустить "Rebuild All"


На этом обновление репозитория завершено. О том как подготовить патчи будет рассказано в другой статье.


Настройка проекта в DevCpp

Если вы используете Git, то выше мы рассмотрели как поличить репозиторий себе на компьютер. Если же вы не хотите испоользовать Git исходники проекта можно скачать здесь.


Для генерации заголовочных файлов для описания интерфейсов из IDL, при сборке в Linux используется утилита widl, входящая в wine-tools. К сожалению использовать ее в windows не получилось. Поэтому необходимо скачать три файла находящиеся по ссылке http://ftp.etersoft.ru/pub/Etersoft/UniOffice@Etersoft/gen-source (при внесении изменний в IDL эти файлы обновляются, но не чаще). Файлы необходимо поместить в папку "unioffice_excel" входящую в репозиторий UniOffice.

(Возможно для генерации этих файлов в windows можно использовать midl.exe входящий в Visual Studio)


После того, как файлы будут помещены в ваш локальный репозиторий, запускаем DevCpp.


Этапы настройки проекта в DevCpp:

Создание нового проекта.

nastroika_1.PNG

Переходим к пункту меню "File->New->Project"


nastroika_2.PNG

Выбираем:

тип проекта - "Dinamic Library DLL"
язык - "С"
имя - "unioffice_excel"


nastroika_3.PNG

Сохраняем проект в папке "unioffice_excel" вашего локального репозитория


nastroika_4.PNG

С помощью пункта меню "Remove file", удаляем все файлы нового проекта, сгенерированные DevCpp, без их сохранения.


nastroika_5.PNG

С помощью пункта меню "Add file", добавляем в проект, файлы unioffice_excel.


nastroika_6.PNG

Можно добавить все файлы сразу за один раз.


nastroika_7.PNG

Так должно выглядеть дерево проекта после добавления всех файлов.


nastroika_8.PNG

Далее необходимо указать какие библиотеки использовать при линковке. Для этого переходим к пункту "Project->Project Options".


nastroika_9.PNG

В появившемся окне переходим к вкладке "Parameters" и в окошке "Linker", второй строкой дописываем следующую строку:

-ladvapi32 -lole32 -loleaut32 -luser32 -lkernel32 -lshell32 -luuid -lshlwapi -lmsvcrt


nastroika_10.PNG

Все. Проект сделан. Теперь осталось его собрать, для этого переходим к пункту "Execute->Rebuild All". После того как проект соберётся (в окне DevCpp появятся несколько Warnings, не обращаем на них внимания), в папке "unioffice_excel" локального репозитория появится файл unioffice_excel.dll


Для установки новой библиотеки в системе, необходимо скопировать файлы unioffice_excel.dll и unioffice_excel.tlb в папку "%WinDir%\System32\" и после этого выполнить команду

regsvr32.exe unioffice_excel.dll

После того как появится окно с надписью "DllRegisterServer в unioffice_excel.dll завершено успешно" unioffice_excel будет установлен в системе. Для тестирования можно использовать тесты находящиеся в репозитории.


О тестировании, ведение логов и сообщении об ошибках можно почитать здесь.