UniOffice/Build/BuildInWindows: различия между версиями
(Import from wiki.etersoft.ru) |
|||
Строка 35: | Строка 35: | ||
* Запускаем установочный файл | * Запускаем установочный файл | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/1.PNG | |||
в этом окне жмем дальше. Далее будет показана лицензия с которую, надо принять для продолжения установки. | в этом окне жмем дальше. Далее будет показана лицензия с которую, надо принять для продолжения установки. | ||
Строка 43: | Строка 43: | ||
* Выбираем папку для установки git | * Выбираем папку для установки git | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/2.PNG | |||
Строка 49: | Строка 49: | ||
* Добавляем интеграцию в explorer и значки быстрого доступа, если это необходимо | * Добавляем интеграцию в explorer и значки быстрого доступа, если это необходимо | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/3.PNG | |||
Строка 55: | Строка 55: | ||
* следующем окне выбираем первый вариант установки | * следующем окне выбираем первый вариант установки | ||
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] | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/5.PNG | |||
Строка 77: | Строка 77: | ||
* Запускаем установочный файл, выбираем язык установки, соглашаемся с лицензией | * Запускаем установочный файл, выбираем язык установки, соглашаемся с лицензией | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/1.PNG | |||
* Выбираем тип установки - Full | * Выбираем тип установки - Full | ||
Строка 83: | Строка 83: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/2.PNG | |||
* Выбираем паку для установки среды разработки | * Выбираем паку для установки среды разработки | ||
Строка 95: | Строка 95: | ||
* Выбрать язык интерфейса | * Выбрать язык интерфейса | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/3.PNG | |||
Строка 101: | Строка 101: | ||
* В следующем окне выбираем первый пункт. Этим говорим среде, что необходимо перечитать все заголовочные файлы - необходимо для удобства навигации и поиска определений функций. | * В следующем окне выбираем первый пункт. Этим говорим среде, что необходимо перечитать все заголовочные файлы - необходимо для удобства навигации и поиска определений функций. | ||
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] вы увидите окно представленное на картинке. | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_1.PNG | |||
Здесь необходимо выбрать пункт "Склонировать существующий репозиторий" | Здесь необходимо выбрать пункт "Склонировать существующий репозиторий" | ||
Строка 123: | Строка 123: | ||
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: | ||
Как только клонирование будет завершено, будет показано окно изображенное ниже. Его можно закрыть. | Как только клонирование будет завершено, будет показано окно изображенное ниже. Его можно закрыть. | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_git/nastroika_3.PNG | |||
Строка 143: | Строка 143: | ||
Теперь мы можем увидеть, что у нас имеется полная копия репозитория. | Теперь мы можем увидеть, что у нас имеется полная копия репозитория. | ||
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] | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/1.PNG | |||
:Выбираем ранее созданный свой локальный репозиторий. Достаточно щелкнуть на ссылку с его именем. | :Выбираем ранее созданный свой локальный репозиторий. Достаточно щелкнуть на ссылку с его именем. | ||
Строка 161: | Строка 161: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/2.PNG | |||
:После того как будет показано главное окно, переходим к пункту "Внешние репозитории->Получение из -> Origin" | :После того как будет показано главное окно, переходим к пункту "Внешние репозитории->Получение из -> Origin" | ||
Строка 167: | Строка 167: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/3.PNG | |||
:Далее появится окно в котором будет отображен процесс обновления | :Далее появится окно в котором будет отображен процесс обновления | ||
Строка 173: | Строка 173: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/4.PNG | |||
:После того как обновление завершиться, можно закрыть это окно. | :После того как обновление завершиться, можно закрыть это окно. | ||
Строка 179: | Строка 179: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/update_git/5.PNG | |||
:Теперь необходимо обновить файлы в репозитории, т.к. пока обновления только скачены, но не применены. Для этого переходим к пункту "Репозиторий -> История всех ветвей наглядно" | :Теперь необходимо обновить файлы в репозитории, т.к. пока обновления только скачены, но не применены. Для этого переходим к пункту "Репозиторий -> История всех ветвей наглядно" | ||
Строка 185: | Строка 185: | ||
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: | ||
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: | ||
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 исходники проекта можно скачать [ | Если вы используете Git, то выше мы рассмотрели как поличить репозиторий себе на компьютер. Если же вы не хотите испоользовать Git исходники проекта можно скачать [http://ftp.etersoft.ru/pub/Etersoft/UniOffice@Etersoft/current/sources здесь]. | ||
Для генерации заголовочных файлов для описания интерфейсов из IDL, при сборке в Linux используется утилита widl, входящая в wine-tools. К сожалению использовать ее в windows не получилось. Поэтому необходимо скачать три файла находящиеся по ссылке [ | Для генерации заголовочных файлов для описания интерфейсов из 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: | ||
:Создание нового проекта. | :Создание нового проекта. | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_1.PNG | |||
Переходим к пункту меню "File->New->Project" | Переходим к пункту меню "File->New->Project" | ||
Строка 235: | Строка 235: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_2.PNG | |||
Выбираем: | Выбираем: | ||
Строка 247: | Строка 247: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_3.PNG | |||
Сохраняем проект в папке "unioffice_excel" вашего локального репозитория | Сохраняем проект в папке "unioffice_excel" вашего локального репозитория | ||
Строка 253: | Строка 253: | ||
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: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_5.PNG | |||
С помощью пункта меню "Add file", добавляем в проект, файлы unioffice_excel. | С помощью пункта меню "Add file", добавляем в проект, файлы unioffice_excel. | ||
Строка 265: | Строка 265: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_6.PNG | |||
Можно добавить все файлы сразу за один раз. | Можно добавить все файлы сразу за один раз. | ||
Строка 271: | Строка 271: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_7.PNG | |||
Так должно выглядеть дерево проекта после добавления всех файлов. | Так должно выглядеть дерево проекта после добавления всех файлов. | ||
Строка 277: | Строка 277: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_8.PNG | |||
Далее необходимо указать какие библиотеки использовать при линковке. Для этого переходим к пункту "Project->Project Options". | Далее необходимо указать какие библиотеки использовать при линковке. Для этого переходим к пункту "Project->Project Options". | ||
Строка 283: | Строка 283: | ||
http://ftp.etersoft.ru/pub/people/ivan/unioffice/setup_devcpp/nastroika_9.PNG | |||
В появившемся окне переходим к вкладке "Parameters" и в окошке "Linker", второй строкой дописываем следующую строку: | В появившемся окне переходим к вкладке "Parameters" и в окошке "Linker", второй строкой дописываем следующую строку: | ||
Строка 291: | Строка 291: | ||
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
Сборка Unioffiсe@Etersoft в OC Windows
Инструменты необходимые для сборки Unioffice@Etersoft
1. git - программа для управления git репозиторием под ОС Windows. (Необходима, если вы хотите, автоматически обновлять исходники, в противном случае эта программа вам не нужна)
2. DevCpp - бесплатная среда разработки от Bloodshed Software, использующая компилятор mingw (компилятор имеется в дистрибутиве и не требует доп. настройки). Последняя версия 4.9, но возможно подойдет и её дальнейшая разработка WxDevCpp
Установка необходимых инструментов
Git for Windows
Последовательность установки:
- Запускаем установочный файл
в этом окне жмем дальше. Далее будет показана лицензия с которую, надо принять для продолжения установки.
- Выбираем папку для установки git
- Добавляем интеграцию в explorer и значки быстрого доступа, если это необходимо
- следующем окне выбираем первый вариант установки
- Выбираем использование OpenSSH
- На этом установка GIT завершена, далее необходимо настроить репозитории.
DevCpp
Последовательность установки:
- Запускаем установочный файл, выбираем язык установки, соглашаемся с лицензией
- Выбираем тип установки - Full
- Выбираем паку для установки среды разработки
- На этом установка GIT завершена, при первом запуске среды необходимо сделать несколько настроек.
- Выбрать язык интерфейса
- В следующем окне выбираем первый пункт. Этим говорим среде, что необходимо перечитать все заголовочные файлы - необходимо для удобства навигации и поиска определений функций.
После этого можно закрыть DevCpp. На этом установка заканчивается и можно переходить к созданию проекта и копированию репозитория
Настройка, получение и обновление Git репозитория
Настройка и получение
При первом запуске GitGUI вы увидите окно представленное на картинке.
Здесь необходимо выбрать пункт "Склонировать существующий репозиторий"
Далее необходимо ввести ссылку на удаленный репозиторий, в данном случае -
и указать каталог, где будет хранится копия репозитория. На картинке это - "C:/Unioffice_Etersoft".
После того как указаны параметры клонирования, нажимаем кнопку "Склонировать".
Операция "Клонирование" занимает некоторое время, которое зависит от скорости соединения с internet
Как только клонирование будет завершено, будет показано окно изображенное ниже. Его можно закрыть.
Теперь мы можем увидеть, что у нас имеется полная копия репозитория.
На этом получение удалённого репозитория закончено.
Обновление репозитория
Запускаем GitGUI
- Выбираем ранее созданный свой локальный репозиторий. Достаточно щелкнуть на ссылку с его именем.
- После того как будет показано главное окно, переходим к пункту "Внешние репозитории->Получение из -> Origin"
- Далее появится окно в котором будет отображен процесс обновления
- После того как обновление завершиться, можно закрыть это окно.
- Теперь необходимо обновить файлы в репозитории, т.к. пока обновления только скачены, но не применены. Для этого переходим к пункту "Репозиторий -> История всех ветвей наглядно"
- Выделить строку с надписью "Remote/origin/master" и в контекстном меню выбрать "reset master branch to here".
- В появившемся окне выбрать "Hard" (Внимание, изменения сделанные в локальном репозитории будут потеряны, что бы не потерять их следует выбирать Mixed или Soft)
- После того как данная операция будет закончена (на рисунке видно, что теперь наша ветка 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:
- Создание нового проекта.
Переходим к пункту меню "File->New->Project"
Выбираем:
- тип проекта - "Dinamic Library DLL"
- язык - "С"
- имя - "unioffice_excel"
Сохраняем проект в папке "unioffice_excel" вашего локального репозитория
С помощью пункта меню "Remove file", удаляем все файлы нового проекта, сгенерированные DevCpp, без их сохранения.
С помощью пункта меню "Add file", добавляем в проект, файлы unioffice_excel.
Можно добавить все файлы сразу за один раз.
Так должно выглядеть дерево проекта после добавления всех файлов.
Далее необходимо указать какие библиотеки использовать при линковке. Для этого переходим к пункту "Project->Project Options".
В появившемся окне переходим к вкладке "Parameters" и в окошке "Linker", второй строкой дописываем следующую строку:
-ladvapi32 -lole32 -loleaut32 -luser32 -lkernel32 -lshell32 -luuid -lshlwapi -lmsvcrt
Все. Проект сделан. Теперь осталось его собрать, для этого переходим к пункту "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 будет установлен в системе. Для тестирования можно использовать тесты находящиеся в репозитории.
О тестировании, ведение логов и сообщении об ошибках можно почитать здесь.