Russian Qt Forum
Май 02, 2024, 21:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] VS 2015 Community + Qt 5.8 Статическая сборка, помогите  (Прочитано 4164 раз)
PinkPanther
Самовар
**
Offline Offline

Сообщений: 169



Просмотр профиля
« : Март 10, 2017, 16:48 »

Возникла потребность установить статическую сборку Qt 5.8 под VS 2015.
Вечером вооружился видеоинструкцией (https://www.youtube.com/watch?v=Aj41yY2Q1Bo), приступил...

Поставил VS 2015 Community (скачал образ, выбрал все опции, получил русифицированный пакет VS 2015 Community с 3-м обновлением).
Скачал Qt в сорсах (http://download.qt.io/official_releases/qt/5.8/5.8.0/single/qt-everywhere-opensource-src-5.8.0.zip), разархивировал в C:/QTINST
Установил DirectX SDK.
Запустил консоль разработчика VS, зашел в папку C:/QTINST, запустил "configure -debug-and-release -static -opensource -opengl desktop -nomake examples -nomake tests"
После того, как configure отработала, скачал последний Jom (http://download.qt.io/official_releases/jom/jom_1_1_2.zip) и кинул его в C:/QTINST
Запустил jom без параметров из консоли разработчика VS, дождался завершения его работы.

Запустил VS (в студии с момента ее установки ничего не делал). Запустил Сервис->Расширения и обновления..., установил Qt Package и Qt Visual Studio Tools.
После перезапуска VS в верхнем меню появился элемент QT5, в Qt Options... добавил сборку, указал путь C:/QTINST/qtbase

Результат: нет проектов Qt5 в списке шаблонов (Создать новый проект...)
Попытки открывать старые .pro файлы из меню QT5 визуально ни к чему не приводят.
ОС Windows 7 x64 Домашняя расширенная (лицензия).

Последний раз собирал статическую Qt под VS 9 лет назад и деталей не помню. Вопрос к специалистам: что сделал не так? Что не сделал?
По-прежнему очень нужна полноценная статическая сборка, со всеми опциями и библиотеками, при помощи которой можно было бы ваять любой софт под винду (с поддержкой сети, баз данных, аудио-видео, xml etc...)

UPD Более не актуально
« Последнее редактирование: Март 13, 2017, 23:55 от PinkPanther » Записан

Эвтаназия - наше хобби!
PinkPanther
Самовар
**
Offline Offline

Сообщений: 169



Просмотр профиля
« Ответ #1 : Март 10, 2017, 18:10 »

Upd.
Проект Qt нашелся. Создал пробный, пустой, для проверки, с QMainWindow. Не запускается (не собирается).
В соответствии с видеоинструкцией добавил в свойствах проекта пути к заголовкам (qtbase/include) и библиотекам (qtbase/lib + qtbase/plugins/platforms), в настройках линкера, верхняя строчка, добавил файлы

opengl32.lib
imm32.lib
Ws2_32.lib
Qt5PlatformSupport.lib
qwindows.lib

Согласно той же инструкции, добавил две строки в myclass.cpp
Код:
#include "myclass.h"

#include <QtPlugin> // ДОБАВЛЕНО
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) // ДОБАВЛЕНО

MyClass::MyClass(QWidget *parent)
: QMainWindow(parent)

Результат - 178 ошибок линковщика (ссылка на неразрешенный внешний символ, Qt5Core.lib, Qt5Gui.lib, Qt5Widgets.lib, qwindows.lib и т.д.)
Несколько для примера:
Код:
1>Qt5Widgets.lib(qwindowsxpstyle.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__IsAppThemed@0 в функции "public: __thiscall QWindowsXPStylePrivate::QWindowsXPStylePrivate(void)" (??0QWindowsXPStylePrivate@@QAE@XZ)
1>Qt5Widgets.lib(qwindowsxpstyle.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__GetCurrentThemeName@24 в функции "public: virtual void __thiscall QWindowsXPStyle::drawPrimitive(enum QStyle::PrimitiveElement,class QStyleOption const *,class QPainter *,class QWidget const *)const " (?drawPrimitive@QWindowsXPStyle@@UBEXW4PrimitiveElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z)
1>Qt5Widgets.lib(qwindowsvistastyle.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__GetThemeTransitionDuration@24 в функции "public: virtual void __thiscall QWindowsVistaStyle::drawControl(enum QStyle::ControlElement,class QStyleOption const *,class QPainter *,class QWidget const *)const " (?drawControl@QWindowsVistaStyle@@UBEXW4ControlElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z)
1>qwindows.lib(qwindowsintegration.obj) : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall QWindowsFontDatabase::QWindowsFontDatabase(void)" (??0QWindowsFontDatabase@@QAE@XZ) в функции "public: virtual class QPlatformFontDatabase * __thiscall QWindowsIntegration::fontDatabase(void)const " (?fontDatabase@QWindowsIntegration@@UBEPAVQPlatformFontDatabase@@XZ)
1>qwindows.lib(qwindowsintegration.obj) : error LNK2019: ссылка на неразрешенный внешний символ "public: static double __cdecl QWindowsFontDatabase::fontSmoothingGamma(void)" (?fontSmoothingGamma@QWindowsFontDatabase@@SANXZ) в функции "public: virtual class QVariant __thiscall QWindowsIntegration::styleHint(enum QPlatformIntegration::StyleHint)const " (?styleHint@QWindowsIntegration@@UBE?AVQVariant@@W4StyleHint@QPlatformIntegration@@@Z)
1>qwindows.lib(qwindowsintegration.obj) : error LNK2019: ссылка на неразрешенный внешний символ "public: static void __cdecl QWindowsFontDatabase::setFontOptions(unsigned int)" (?setFontOptions@QWindowsFontDatabase@@SAXI@Z) в функции "public: __thiscall QWindowsIntegrationPrivate::QWindowsIntegrationPrivate(class QStringList const &)" (??0QWindowsIntegrationPrivate@@QAE@ABVQStringList@@@Z)
1>qwindows.lib(qwindowsintegration.obj) : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall QBasicFontDatabase::populateFontDatabase(void)" (?populateFontDatabase@QBasicFontDatabase@@UAEXXZ)"

В связи с чем закономерные вопросы:
1) Что нужно исправить, чтобы все заработало?
2) Где прописать пути/файлы в VS, чтобы не приходилось прописывать их в каждом новом проекте для релиза и дебага? Тот же вопрос по поводу двух добавленных в код myclass.cpp строчек.
Предполагается, что эта сборка прослужит минимум пару лет. Помогите пожалуйста настроить! Заранее спасибо!
« Последнее редактирование: Март 10, 2017, 18:34 от PinkPanther » Записан

Эвтаназия - наше хобби!
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.065 секунд. Запросов: 23.