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

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


ru:msvc2008

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
ru:msvc2008 [2010/09/08 22:15] 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-репозитория:
  
- +<code bash
-Скачиваем исходный код Psi из git-репозитория: +git clone https://github.com/psi-plus/psi-plus-snapshots.git 
- +cd psi-plus-snapshots
-<code> +
- +
-git clone git://git.psi-im.org/psi.git +
- +
-cd psi +
- +
-git submodule init +
- +
-git submodule update +
 </code> </code>
  
 Скачиваем: Скачиваем:
  
 +  * [[https://cmake.org/download/|CMake ]] Можно использовать тот, что идет в комплекте с Qt
 +  * [[https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads|Microsoft Visual Studio 2019]]
 +  * [[https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5|Qt Online Installer Windows]] (требует регистрации на сайте)
 +  * [[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Мб//)
  
  
-  * [[http://www.microsoft.com/express/download/|Microsoft Visual Studio 2008 Express Editions]] 
  
-  * [[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]] 
  
-  * [[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) 
  
-  * [[http://www.slproweb.com/products/Win32OpenSSL.html|Win32 OpenSSL]] (full version) 
  
 +==== Установка Инструментов сборки Psi+ ====
  
 +  * Сначала установим CMake при помощи скачанного установщика. Можно пропустить и установить вместе с Qt (//желательно ставить в каталог ближе к корню диска, например C:\cmake и добавить путь к CMake в PATH по просьбе установщика//)
 +  * Установим **Microsoft Visual Studio 2019 Community Edition** при помощи скачанного online-установщика (~12Гб места на диске)
  
 +рекомендуемый набор компонентов для установки показан на рисунке:
  
 +{{:ru:msvc2019_setup.png?1200|}}
  
-==== Настройка переменных окружения и необходимых библиотек ==== +также можно воспользоваться пунктом импортировать конфигурациюдля этого нужно создать текстовый файл со следующим содержимым:
- +
- +
- +
-В свойствах компьютера (Advanced -> Environment Variables) прописываем следующие пути (переменная Path): +
- +
- +
- +
-  * *C:\Qt\4.4.3-msvc\bin* +
- +
-  * *C:\Program Files\Microsoft Visual Studio 9.0\VC\bin* +
- +
- +
- +
-Добавляем следующие системные переменные: +
- +
- +
- +
-  * *QMAKESPEC=win32-msvc2008* +
- +
-  * *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>
 +{
 +  "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>
  
-C:\Program Files\Microsoft Visual Studio 9.0\VC>nmake /?+  * Затем установим необходимый комплект **Qt5** при помощи online-установщика, где выбираем Qt-5.15.2 MSVC2019 64bit (рекомендуется для SDK v29.0 в Tools выбираем CDB и убеждаемся, что выбран QtCreator (установленный комплект занимает около 7Гб)
  
 +  * Устанавливаем библиотеки **Gstreamer** желательно устанавливать в один и тот же каталог и в максимальной конфигурации
  
- +  * И наконец установим **SDK**, который содержит набор библиотек необходимых для сборки Psi+При установке очень желательно включить пункт "Добавить запись в реестр Windows"**Поле установки нужно перезайти в систему, чтобы обновились переменные.**
-Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 +
- +
-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> +
  
  
Строка 162: Строка 75:
 === Конфигурирование Qt перед сборкой === === Конфигурирование Qt перед сборкой ===
  
 +  * Нажимаем клавиши **Win+Pause/Break** и слева выбираем пункт Дополнительные параметры, в появившемся окне выбираем **Переменные среды** и в новом окне убеждаемся в наличии переменных: **GSREAMER_1_0_ROOT_x86_64** и **PSI_SDK_MSVC_WIN64**
  
 +{{:ru:env-vars.png|}}
  
-Для вывода справки по команде *configure.exeпишем в cmd:+  * Запускаем **QtCreator**, там в меню **Инструменты** выбираем **Параметры** 
 +  * Убедимся, что QtCreator нашел CMake, если не нашел добавляем его вручную
  
-<code>+{{:ru:cmake-config.png|}}
  
-C:\Qt\4.4.3-msvc>configure.exe -help+  * Проверяем, что QtCreator нашел необходимые дебаггеры, если нужного нет - добавляем сами:
  
-</code> 
  
 +{{:ru:cdb-config.png|}}
  
  
-Для начала процесса конфигурирования Qt пишем:+  * Проверяем наличие необходимых компиляторов
  
-<code>+{{:ru:creator-compilers.png|}}
  
-C:\Qt\4.4.3-msvc>configure -debug-and-release 
  
 +  * Проверяем наличие необходимого нам профиля Qt (у вас будут свои пути)
  
 +{{:ru:qt-profile.png|}}
  
-This is the Qt for Windows Open Source Edition. 
  
 +  * Настраиваем среду сборки
  
 +{{:ru:creator-comp.png|}}
  
-You are licensed to use this software under the terms of +  Настраиваем генератор CMake
- +
-the GNU General Public License (GPL) version 2 or 3. +
- +
- +
- +
-Type '2' to view the GNU General Public License version 2 (GPLv2). +
- +
-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? +
- +
-+
- +
-</code> +
- +
- +
- +
-В результате видим следующее: +
- +
-<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 building. Just run nmake. +
- +
-To reconfigure, run nmake confclean and configure. +
- +
-</code> +
- +
- +
- +
- +
- +
-==== Сборка Qt ==== +
- +
- +
- +
-Приступаем к сборке Qt. Для этого выполняем команду *nmake*: +
- +
-<code> +
- +
-C:\Qt\4.4.3-msvc>nmake +
- +
-</code> +
- +
- +
- +
-Процесс сборки Qt может занять некоторое время (20-60 минут). +
- +
- +
- +
- +
- +
-==== Применение патчей к исходному коду Psi ==== +
- +
- +
- +
-  * Скачиваем патчи для [[http://psi-dev.googlecode.com/svn/trunk/patches/|Psi+ ]] и кладём в директорию *psi-git*. +
- +
-  * Скачиваем [[http://gnuwin32.sourceforge.net/packages/patch.htm|GNU/Patch for Windows]*. +
- +
- +
- +
-*_Примечание:_* 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. +
- +
- +
- +
-  * Запускаем *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/series.txt|адресу]*. +
- +
- +
- +
- +
- +
-==== Компиляция 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> +
- +
-D:\psi-git>qmake psi.pro +
- +
-</code> +
- +
- +
- +
-Затем: +
- +
-<code> +
- +
-D:\psi-git>nmake +
- +
-</code> +
- +
- +
- +
-После окончание процесса компиляции видим собранное приложение в *D:\psi-git\src\release\psi.exe*. +
- +
- +
- +
- +
- +
-==== Создание проекта psi.vcproj для Microsoft Visual Studio 2008 ==== +
- +
- +
- +
-Переходим в директорию *psi-git/src* и запускаем команду на создание проекта *psi* для Microsoft Visual Studio 2008: +
- +
-<code> +
- +
-D:\psi-git\src>qmake -t vcapp src.pro +
- +
-</code>+
  
 +{{:ru:cmake-generator.png|}}
  
 +  * Дополнительно настраиваем флаги CMake по-умолчанию:
  
-После выполнения данной команды в этой же директории видим файл *psi.vcproj*.+{{:ru:cmake-flags.png|}}
  
  
 +==== Компиляция Psi в программе QtCreator ====
  
-Открываем файл *psi.vcproj* в Microsoft Visual Studio 2008.+  * Запускаем **QtCreator**, если он еще не запущен. 
 +  * Открываем файл **CMakeLists.txt** из корневого каталога со скачанными исходными кодами Psi+ 
 +  * Настраиваем проект
  
 +{{:ru:project-setts.png|}}
  
 +  Можем включать / выключать необходимые типы сборки, которые потом можно выбрать в основном окне программы
  
-Переключаемся на конфигурацию *Release*, сохраняем *psi.sln* и выполняем команду *Build*.+{{:ru:build-type.png|}}
  
 +  * После настройки проекта начнется предварительное конфигурирование проекта результаты которого будут представлены на вкладке **Основные сообщения**
  
 +  * Заходим в опции проекта и выбираем необходимые нам флаги конфигурации (не забываем нажимать **Применить**). Рекомендуемые мною настройки:
 +    * Обязательно включаем флаг DEV_MODE если необходим запуск Psi+ прямо из QtCreator
 +    * Добавляем следующие этапы сборки:
  
 +{{:ru:project-opts.png|}}
  
  
-*_Примечание_*при возникновении проблем с компиляцией qca-файлов необходимо в директории *psi-git/third-party/qca* сделать *qmake* и затем *nmake*.+  * После настройки советую зайти в пункт меню **Сборка** и там по очереди выполнить **Очистить конфигурацию** и **Запустить CMake**. Желательно делать так всегда, когда вы изменяете настройки проекта (меняете состояние флагов). 
 +  * Если все прошло успешно - запускаем сборку по **Ctrl+B** или выбрав в меню **Сборка** - **Собрать проект psi-plus*
 +  * Сборка займет некоторое время и если пройдет успешно, вы можете запускать Psi+ прямо из QtCreator или посмотреть в настройках запуска проекта путь к собранным файлам
  
 +  * Если что-то пошло не так, то сначала убедитесь, что у вас установлены все необходимые инструменты для сборки, заданы все необходимые переменные среды или настройте пути к 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.1283984151.txt.gz · Последнее изменение: 2010/10/17 15:36 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki