Инструменты пользователя

Инструменты сайта


ru:msvc2008

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
ru:msvc2008 [2010/09/08 22:28] zetru:msvc2008 [2024/06/16 11:24] (текущий) kukuruzo
Строка 1: Строка 1:
-====== Psi+ on MS Windows: Build Instructions (win32-msvc2008) ======+====== Psi+ on MS Windows: Build Instructions (win64-msvc2019) ======
  
-**//Устаревшая статья//** 
  
- +===== Microsoft Visual Studio 2019 =====
-===== Microsoft Visual Studio 2008 (НЕ РЕКОМЕНДУЕТСЯ) =====+
  
  
Строка 10: Строка 8:
 ==== Необходимый инструментарий ==== ==== Необходимый инструментарий ====
  
-Скачиваем исходный код Psi из git-репозитория:+Скачиваем исходный код Psiиз git-репозитория:
  
-<code> +<code bash
-git clone git://git.psi-im.org/psi.git +git clone https://github.com/psi-plus/psi-plus-snapshots.git 
-cd psi +cd psi-plus-snapshots
-git submodule init +
-git submodule update+
 </code> </code>
  
 Скачиваем: Скачиваем:
  
-  * [[http://www.microsoft.com/express/download/|Microsoft Visual Studio 2008 Express Editions]] +  * [[https://cmake.org/download/|CMake ]] Можно использовать тот, что идет в комплекте с Qt 
-  * [[http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en|Windows SDK for Windows Server 2008 and .NET Framework 3.5]] +  * [[https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads|Microsoft Visual Studio 2019]] 
-  * [[http://www.qtsoftware.com/downloads/opensource/appdev/windows-cpp|Qt for Open Source C++ development on Windows]] (ftp://ftp.trolltech.no/qt/source/qt-win-opensource-src-4.4.3.zip) +  * [[https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5|Qt Online Installer Windows]] (требует регистрации на сайте) 
-  * [[http://www.slproweb.com/products/Win32OpenSSL.html|Win32 OpenSSL]] (full version)+  * [[https://gstreamer.freedesktop.org/data/pkg/windows/1.24.4/msvc/gstreamer-1.0-msvc-x86_64-1.24.4.msi|Gstreamer runtime libraries 1.24.4]] 
 +  * [[https://gstreamer.freedesktop.org/data/pkg/windows/1.24.4/msvc/gstreamer-1.0-devel-msvc-x86_64-1.24.4.msi|Gstreamer development libraries 1.24.4]] 
 +  * [[https://sourceforge.net/projects/psiplus/files/Windows/Personal-Builds/KukuRuzo/SDK/psisdk-msvc2019-setup-35.0.exe/download|Psi+ Qt5 SDK MSVC2019 Win64]] (СДК для сборки Psi+ //~30Мб//)
  
  
Строка 30: Строка 28:
  
  
-==== Настройка переменных окружения и необходимых библиотек ==== 
  
-В свойствах компьютера (Advanced -> Environment Variables) прописываем следующие пути (переменная Path):+==== Установка Инструментов сборки Psi+ ====
  
-  * **C:\Qt\4.4.3-msvc\bin** +  * Сначала установим CMake при помощи скачанного установщика. Можно пропустить и установить вместе с Qt (//желательно ставить в каталог ближе к корню диска, например C:\cmake и добавить путь к CMake в PATH по просьбе установщика//) 
-  * **C:\Program Files\Microsoft Visual Studio 9.0\VC\bin**+  * Установим **Microsoft Visual Studio 2019 Community Edition** при помощи скачанного online-установщика (~12Гб места на диске)
  
-Добавляем следующие системные переменные:+рекомендуемый набор компонентов для установки показан на рисунке:
  
-  * **QMAKESPEC=win32-msvc2008** +{{:ru:msvc2019_setup.png?1200|}}
-  * **QTDIR=C:\Qt\4.4.3-msvc** +
- +
-Копируем содержимое папки **C:\OpenSSL\lib\VC** в папку **C:\Program Files\Microsoft Visual Studio 9.0\VC\lib** и переименовываем следующие файлы: +
- +
-  * **libeay32MD.lib* -> *libeay32.lib** +
-  * **libeay32MDd.lib* -> *libeay32d.lib** +
-  * **ssleay32MD.lib* -> *ssleay32.lib** +
-  * **ssleay32MDd.lib* -> *ssleay32d.lib** +
- +
-Выбираем папку **C:\OpenSSL\include\openssl**  и копируем всю папку **openssl** в **C:\Program Files\Microsoft Visual Studio 9.0\VC\include** +
- +
-В результате должно получиться так **C:\Program Files\Microsoft Visual Studio 9.0\VC\include\openssl** +
- +
- +
- +
- +
- +
-==== Установка Qt ==== +
- +
-Скачанный архив **qt-win-opensource-src-4.4.3.zip** распаковываем в папку **C:\Qt\4.4.3-msvc** +
- +
- +
- +
- +
- +
-=== Запуск командой строки Visual Studio 2008 Command Prompt === +
- +
-Открываем командную строку Visual Studio 2008 Command Prompt: +
- +
-**Start** -> **Programs** -> **Microsoft Visual Studio 2008** -> **Visual Studio Tools** -> **Visual Studio 2008 Command Prompt** +
- +
-Для проверки правильности прописанного пути к **nmake.exe** пишем в cmd: +
  
 +также можно воспользоваться пунктом импортировать конфигурацию, для этого нужно создать текстовый файл со следующим содержимым:
 <code> <code>
-C:\Program Files\Microsoft Visual Studio 9.0\VC>nmake /?+
 +  "version""1.0", 
 +  "components":
 +    "Microsoft.VisualStudio.Component.CoreEditor", 
 +    "Microsoft.VisualStudio.Workload.CoreEditor", 
 +    "Microsoft.VisualStudio.Component.Roslyn.Compiler", 
 +    "Microsoft.Component.MSBuild", 
 +    "Microsoft.VisualStudio.Component.TextTemplating", 
 +    "Microsoft.VisualStudio.Component.Debugger.JustInTime", 
 +    "Microsoft.VisualStudio.Component.VC.CoreIde", 
 +    "Microsoft.VisualStudio.Component.Windows10SDK", 
 +    "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", 
 +    "Microsoft.VisualStudio.Component.Windows10SDK.19041", 
 +    "Component.CPython3.x64", 
 +    "Microsoft.VisualStudio.Component.VC.Redist.14.Latest", 
 +    "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core", 
 +    "Microsoft.VisualStudio.Component.VC.ATL", 
 +    "Microsoft.VisualStudio.Component.VC.ASAN", 
 +    "Microsoft.VisualStudio.Component.VC.Modules.x86.x64", 
 +    "Microsoft.VisualStudio.Workload.NativeDesktop" 
 +  ] 
 +
 +</code>
  
 +  * Затем установим необходимый комплект **Qt5** при помощи online-установщика, где выбираем Qt-5.15.2 MSVC2019 64bit (рекомендуется для SDK v29.0 в Tools выбираем CDB и убеждаемся, что выбран QtCreator (установленный комплект занимает около 7Гб)
  
-Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 +  * Устанавливаем библиотеки **Gstreamer** желательно устанавливать в один и тот же каталог и в максимальной конфигурации
-Copyright (C) Microsoft Corporation.  All rights reserved. +
- +
- +
-Usage:  NMAKE @commandfile +
-        NMAKE [[options]] [[/f|makefile]] [[/x|stderrfile]] [[macrodefs]] [[targets]] +
- +
- +
-Options: +
- +
- +
-/A|Build all evaluated targets +
-/B Build if time stamps are equal +
-/C Suppress output messages +
-/D Display build information +
-/E Override env-var macros +
-/ERRORREPORT:{NONE|PROMPT|QUEUE|SEND} Report errors to Microsoft +
-/G Display !include filenames +
-/HELP Display brief usage message +
-........ +
-</code>+
  
 +  * И наконец установим **SDK**, который содержит набор библиотек необходимых для сборки Psi+. При установке очень желательно включить пункт "Добавить запись в реестр Windows". **Поле установки нужно перезайти в систему, чтобы обновились переменные.**
  
  
Строка 105: Строка 75:
 === Конфигурирование Qt перед сборкой === === Конфигурирование Qt перед сборкой ===
  
-Для вывода справки по команде **configure.exe** пишем в cmd:+  * Нажимаем клавиши **Win+Pause/Break** и слева выбираем пункт Дополнительные параметры, в появившемся окне выбираем **Переменные среды** и в новом окне убеждаемся в наличии переменных**GSREAMER_1_0_ROOT_x86_64** и **PSI_SDK_MSVC_WIN64**
  
-<code> +{{:ru:env-vars.png|}}
-C:\Qt\4.4.3-msvc>configure.exe -help +
-</code>+
  
-Для начала процесса конфигурирования Qt пишем:+  * Запускаем **QtCreator**, там в меню **Инструменты** выбираем **Параметры** 
 +  * Убедимся, что QtCreator нашел CMake, если не нашел добавляем его вручную
  
-<code> +{{:ru:cmake-config.png|}}
-C:\Qt\4.4.3-msvc>configure -debug-and-release+
  
 +  * Проверяем, что QtCreator нашел необходимые дебаггеры, если нужного нет - добавляем сами:
  
-This is the Qt for Windows Open Source Edition. 
  
 +{{:ru:cdb-config.png|}}
  
-You are licensed to use this software under the terms of 
-the GNU General Public License (GPL) version 2 or 3. 
  
 +  * Проверяем наличие необходимых компиляторов
  
-Type '2' to view the GNU General Public License version 2 (GPLv2). +{{:ru:creator-compilers.png|}}
-Type '3' to view the GNU General Public License version 3 (GPLv3). +
-Type 'y' to accept this license offer. +
-Type 'n' to decline this license offer.+
  
  
-Do you accept the terms of the license? +  * Проверяем наличие необходимого нам профиля Qt (у вас будут свои пути)
-+
-</code>+
  
-В результате видим следующее:+{{:ru:qt-profile.png|}}
  
-<code> 
-........ 
-Reading C:/Qt/4.4.3-msvc/demos/spreadsheet/spreadsheet.pro 
-Reading C:/Qt/4.4.3-msvc/demos/textedit/textedit.pro 
-Reading C:/Qt/4.4.3-msvc/demos/chip/chip.pro 
-Reading C:/Qt/4.4.3-msvc/demos/embeddeddialogs/embeddeddialogs.pro 
-Reading C:/Qt/4.4.3-msvc/demos/undo/undo.pro 
-Reading C:/Qt/4.4.3-msvc/demos/arthurplugin/arthurplugin.pro 
-Reading C:/Qt/4.4.3-msvc/demos/sqlbrowser/sqlbrowser.pro 
-Reading C:/Qt/4.4.3-msvc/demos/qtdemo/qtdemo.pro 
-Reading C:/Qt/4.4.3-msvc/demos/mediaplayer/mediaplayer.pro 
-Reading C:/Qt/4.4.3-msvc/demos/browser/browser.pro 
-Reading C:/Qt/4.4.3-msvc/tools/qdoc3/qdoc3.pro 
  
 +  * Настраиваем среду сборки
  
-Qt is now configured for buildingJust run nmake. +{{:ru:creator-comp.png|}}
-To reconfigure, run nmake confclean and configure. +
-</code>+
  
 +  * Настраиваем генератор CMake
  
 +{{:ru:cmake-generator.png|}}
  
 +  * Дополнительно настраиваем флаги CMake по-умолчанию:
  
 +{{:ru:cmake-flags.png|}}
  
-==== Сборка Qt ==== 
  
-Приступаем к сборке Qt. Для этого выполняем команду **nmake**:+==== Компиляция Psi в программе QtCreator ====
  
-<code> +  * Запускаем **QtCreator**, если он еще не запущен. 
-C:\Qt\4.4.3-msvc>nmake +  * Открываем файл **CMakeLists.txt** из корневого каталога со скачанными исходными кодами Psi+ 
-</code>+  * Настраиваем проект
  
-Процесс сборки Qt может занять некоторое время (30-60 минут).+{{:ru:project-setts.png|}}
  
 +  Можем включать / выключать необходимые типы сборки, которые потом можно выбрать в основном окне программы
  
 +{{:ru:build-type.png|}}
  
 +  * После настройки проекта начнется предварительное конфигурирование проекта результаты которого будут представлены на вкладке **Основные сообщения**
  
 +  * Заходим в опции проекта и выбираем необходимые нам флаги конфигурации (не забываем нажимать **Применить**). Рекомендуемые мною настройки:
 +    * Обязательно включаем флаг DEV_MODE если необходим запуск Psi+ прямо из QtCreator
 +    * Добавляем следующие этапы сборки:
  
-==== Применение патчей к исходному коду Psi ====+{{:ru:project-opts.png|}}
  
-  * Скачиваем патчи для [[http://psi-dev.googlecode.com/svn/trunk/patches/|Psi+]] и кладём в директорию **psi-git**. 
  
-  * Скачиваем [[http://gnuwin32.sourceforge.net/packages/patch.htm|GNU/Patch for Windows]*. +  * После настройки советую зайти в пункт меню **Сборка** и там по очереди выполнить **Очистить конфигурацию** и **Запустить CMake**. Желательно делать так всегдакогда вы изменяете настройки проекта (меняете состояние флагов). 
- +  * Если все прошло успешно - запускаем сборку по **Ctrl+B** или выбрав в меню **Сборка** - **Собрать проект psi-plus** 
-__**Примечание**__: On MS-Windows, the patchfile must be a text file, i.e. CR-LF must be used as line endings. A file with LF may give the error: “Assertion failed, hunk, file patch.c, line 343,” unless the option ‘–binary’ is given. +  * Сборка займет некоторое время и если пройдет успешно, вы можете запускать Psi+ прямо из QtCreator или посмотреть в настройках запуска проекта путь к собранным файлам
- +
-  * Запускаем **cmd** в директории **psi-git** и последовательно выполняем следующие команды: +
- +
-<code> +
-patch -p1 < 000-about-psi-plus.diff +
-patch -p1 < 005-psi-win32-pre-patching.diff +
-patch -p1 < 020-psi-muc-kickban-reasons.diff +
-patch -p1 < 030-psi-vcard-save.diff +
-patch -p1 < 040-psi-muc-topic.diff +
-patch -p1 < 050-psi-quick-disco.diff +
-patch -p1 < 060-psi-receipts.diff +
-patch -p1 < 070-psi-muc-user-count.diff +
-patch -p1 < 080-psi-popup-avatar.diff +
-patch -p1 < 090-psi-entity-time.diff +
-patch -p1 < 100-psi-mood-icons.diff +
-patch -p1 < 110-psi-muc-change-affiliation.diff +
-patch -p1 < 120-psi-muc-nickclick-chat.diff +
-patch -p1 < 130-psi-send-button-arrow.diff +
-patch -p1 < 140-psi-bookmark-skip.diff +
-patch -p1 < 150-psi-muc-notify-highlight.diff +
-.............. +
-</code> +
- +
-__**Примечание**__: Перед скачиванием и установкой патчей, желательно проверить правильность имён файлов с их текущим [[http://psi-dev.googlecode.com/svn/trunk/patches/|списком]]*. +
- +
- +
- +
- +
- +
-==== Компиляция Psi в командной строке Visual Studio 2008 Command Prompt ==== +
- +
-Переходим в папку **psi-git** с файлами исходного кода Psi и проверяем правильность установки путей и переменных: +
- +
-<code> +
-D:\psi-git>qmake -v +
-QMake version 2.01a +
-Using Qt version 4.4.3 in C:\Qt\4.4.3-msvc\lib +
-</code> +
- +
-<code> +
-D:\psi-git>echo %QMAKESPEC% +
-win32-msvc2008 +
-</code> +
- +
-После этого выполняем последовательно следующие команды: +
- +
-<code> +
-qmake psi.pro +
-</code> +
- +
-Затем+
- +
-<code> +
-nmake +
-</code> +
- +
-После окончание процесса компиляции видим собранный бинарник **psi.exe** в папке **psi-git\src\release**+
- +
- +
- +
- +
- +
-==== Создание проекта psi.vcproj для Microsoft Visual Studio 2008 ==== +
- +
-  * Переходим в папку **psi-git/src** и запускаем команду на создание проекта **psi** для Microsoft Visual Studio 2008 +
-<code> +
-make -t vcapp src.pro +
-</code> +
-  * После выполнения данной команды в этой же папке видим файл **psi.vcproj** +
-  * Открываем файл **psi.vcproj** в Microsoft Visual Studio 2008 +
-  * Переключаемся на конфигурацию **Release**, сохраняем **psi.sln** и выполняем команду **Build**+
  
-__**Примечание**__: При возникновении проблем с компиляцией qca-файлов необходимо в папке **psi-git/third-party/qca** сделать **qmake** и затем **nmake**.+  Если что-то пошло не так, то сначала убедитесь, что у вас установлены все необходимые инструменты для сборки, заданы все необходимые переменные среды или настройте пути к SDK и Gstreamer в настройках проекта (возможно вам необходимо будет добавить необходимые переменные вручную). 
 +  Описание флагов конфигурации смотрим [[https://github.com/psi-plus/psi-plus-snapshots/blob/master/Readme-cmake-ru.txt|тут]] 
 +  Сборка SDK своими руками в этом разделе не описана, т.к. эта задача - нетривиальна и порой требует специальных навыков и знаний
  
 +**==== 
 +ПРИМЕЧАНИЯ ====**
  
 +1. Для ускорения сборки под Windows можно воспользоваться утилитой [[https://ccache.dev/download.html|Ccache]], для этого нужно распаковать архив с программой в удобный каталог и добавить этот каталог в переменную PATH.
  
 +2. Если у вас что-то не получается - внимательно читайте вывод CMake, cmake-скрипты Psi/Psi+ выдают достаточно подробную информацию о процессе конфигурации. 
  
  
ru/msvc2008.1283984929.txt.gz · Последнее изменение: 2010/10/17 15:36 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki