====== Psi+ on MS Windows: Build Instructions (win32-msvc2008) ====== **//Устаревшая статья//** ===== Microsoft Visual Studio 2008 (НЕ РЕКОМЕНДУЕТСЯ) ===== ==== Необходимый инструментарий ==== Скачиваем исходный код Psi из git-репозитория: git clone git://git.psi-im.org/psi.git cd psi git submodule init git submodule update Скачиваем: * [[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) ==== Настройка переменных окружения и необходимых библиотек ==== В свойствах компьютера (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: C:\Program Files\Microsoft Visual Studio 9.0\VC>nmake /? 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 ........ === Конфигурирование Qt перед сборкой === Для вывода справки по команде **configure.exe** пишем в cmd: C:\Qt\4.4.3-msvc>configure.exe -help Для начала процесса конфигурирования Qt пишем: C:\Qt\4.4.3-msvc>configure -debug-and-release This is the Qt for Windows Open Source Edition. 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). 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? y В результате видим следующее: ........ 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. ==== Сборка Qt ==== Приступаем к сборке Qt. Для этого выполняем команду **nmake**: C:\Qt\4.4.3-msvc>nmake Процесс сборки Qt может занять некоторое время (30-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** и последовательно выполняем следующие команды: 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 .............. __**Примечание**__: Перед скачиванием и установкой патчей, желательно проверить правильность имён файлов с их текущим [[http://psi-dev.googlecode.com/svn/trunk/patches/|списком]] . ==== Компиляция Psi в командной строке Visual Studio 2008 Command Prompt ==== Переходим в папку **psi-git** с файлами исходного кода Psi и проверяем правильность установки путей и переменных: D:\psi-git>qmake -v QMake version 2.01a Using Qt version 4.4.3 in C:\Qt\4.4.3-msvc\lib D:\psi-git>echo %QMAKESPEC% win32-msvc2008 После этого выполняем последовательно следующие команды: qmake psi.pro Затем: nmake После окончание процесса компиляции видим собранный бинарник **psi.exe** в папке **psi-git\src\release**. ==== Создание проекта psi.vcproj для Microsoft Visual Studio 2008 ==== * Переходим в папку **psi-git/src** и запускаем команду на создание проекта **psi** для Microsoft Visual Studio 2008 make -t vcapp src.pro * После выполнения данной команды в этой же папке видим файл **psi.vcproj** * Открываем файл **psi.vcproj** в Microsoft Visual Studio 2008 * Переключаемся на конфигурацию **Release**, сохраняем **psi.sln** и выполняем команду **Build** __**Примечание**__: При возникновении проблем с компиляцией qca-файлов необходимо в папке **psi-git/third-party/qca** сделать **qmake** и затем **nmake**.