UniOffice/Build/BuildInWindows: различия между версиями

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
(Import from wiki.etersoft.ru)
 
 
Строка 35: Строка 35:
* Запускаем установочный файл
* Запускаем установочный файл


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/1.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/1.PNG


в этом окне жмем дальше. Далее будет показана лицензия с которую, надо принять для продолжения установки.
в этом окне жмем дальше. Далее будет показана лицензия с которую, надо принять для продолжения установки.
Строка 43: Строка 43:
* Выбираем папку для установки git
* Выбираем папку для установки git


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/2.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/2.PNG




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


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/3.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/3.PNG




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


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/4.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/4.PNG




Строка 61: Строка 61:
* Выбираем использование [http://wiki.etersoft.ru/OpenSSH OpenSSH]
* Выбираем использование [http://wiki.etersoft.ru/OpenSSH OpenSSH]


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/5.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/5.PNG




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


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/1.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/1.PNG


* Выбираем тип установки - Full
* Выбираем тип установки - Full
Строка 83: Строка 83:




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/2.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/2.PNG


* Выбираем паку для установки среды разработки
* Выбираем паку для установки среды разработки
Строка 95: Строка 95:
* Выбрать язык интерфейса
* Выбрать язык интерфейса


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/3.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/3.PNG




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


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/4.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/4.PNG




Строка 117: Строка 117:
При первом запуске [http://wiki.etersoft.ru/GitGUI GitGUI] вы увидите окно представленное на картинке.
При первом запуске [http://wiki.etersoft.ru/GitGUI GitGUI] вы увидите окно представленное на картинке.


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_1.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_1.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_2.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_2.PNG


Далее необходимо ввести ссылку на удаленный репозиторий, в данном случае - <div style="display: inline; color: red;">[http://git.etersoft.ru/people/ivan/packages/unioffice.git http://git.etersoft.ru/people/ivan/packages/unioffice.git]</div>
Далее необходимо ввести ссылку на удаленный репозиторий, в данном случае - <div style="display: inline; color: red;">[http://git.etersoft.ru/people/ivan/packages/unioffice.git http://git.etersoft.ru/people/ivan/packages/unioffice.git]</div>
Строка 137: Строка 137:
Как только клонирование будет завершено, будет показано окно изображенное ниже. Его можно закрыть.
Как только клонирование будет завершено, будет показано окно изображенное ниже. Его можно закрыть.


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_3.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_3.PNG




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


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_4.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_4.PNG




Строка 155: Строка 155:
  Запускаем [http://wiki.etersoft.ru/GitGUI GitGUI]
  Запускаем [http://wiki.etersoft.ru/GitGUI GitGUI]


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/1.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/1.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/2.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/2.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/3.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/3.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/4.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/4.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/5.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/5.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/6.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/6.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/7.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/7.PNG


:В появившемся окне выбрать "Hard" (<div style="display: inline; color: red;">Внимание, изменения сделанные в локальном репозитории будут потеряны, что бы не потерять их следует выбирать Mixed или Soft</div>)
:В появившемся окне выбрать "Hard" (<div style="display: inline; color: red;">Внимание, изменения сделанные в локальном репозитории будут потеряны, что бы не потерять их следует выбирать Mixed или Soft</div>)
Строка 197: Строка 197:




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/8.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/8.PNG


:После того как данная операция будет закончена (на рисунке видно, что теперь наша ветка master совпадает с веткой mster удаленного репозитория), необходимо пересобрать проект в [http://wiki.etersoft.ru/DevCpp DevCpp]. Открыть ранее созданный проект и запустить "Rebuild All"
:После того как данная операция будет закончена (на рисунке видно, что теперь наша ветка master совпадает с веткой mster удаленного репозитория), необходимо пересобрать проект в [http://wiki.etersoft.ru/DevCpp DevCpp]. Открыть ранее созданный проект и запустить "Rebuild All"
Строка 211: Строка 211:




Если вы используете Git, то выше мы рассмотрели как поличить репозиторий себе на компьютер. Если же вы не хотите испоользовать Git исходники проекта можно скачать [ftp://ftp.etersoft.ru/pub/Etersoft/UniOffice@Etersoft/current/sources здесь].
Если вы используете Git, то выше мы рассмотрели как поличить репозиторий себе на компьютер. Если же вы не хотите испоользовать Git исходники проекта можно скачать [http://ftp.etersoft.ru/pub/Etersoft/UniOffice@Etersoft/current/sources здесь].






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


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


ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_1.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_1.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_2.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_2.PNG


Выбираем:
Выбираем:
Строка 247: Строка 247:




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_3.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_3.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_4.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_4.PNG


С помощью пункта меню "Remove file", удаляем все файлы нового проекта, сгенерированные [http://wiki.etersoft.ru/DevCpp DevCpp], без их сохранения.
С помощью пункта меню "Remove file", удаляем все файлы нового проекта, сгенерированные [http://wiki.etersoft.ru/DevCpp DevCpp], без их сохранения.
Строка 259: Строка 259:




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_5.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_5.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_6.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_6.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_7.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_7.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_8.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_8.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_9.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_9.PNG


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




ftp://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_10.PNG
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_10.PNG


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

Текущая версия на 17:02, 13 сентября 2015

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 будет установлен в системе. Для тестирования можно использовать тесты находящиеся в репозитории.


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