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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сборка Qt 4.8 с OpenSSL  (Прочитано 5637 раз)
CyclicBarrier
Гость
« : Октябрь 04, 2013, 08:19 »

Пытаюсь собрать Qt 4.8.5 с поддержкой OpenSSL с помощью VS2012. Для этого собрал OpenSSL версий 0.9.8 и 1.0.1e (с обеими версиями Qt не собирается).
Далее сконфигурировал Qt таким образом
Код:
SET PATH=%PATH%;C:\OpenSSL\bin
SET INCLUDE=C:\OpenSSL\include;%INCLUDE%
SET LIB=C:\OpenSSL\lib;%LIB%

configure -debug-and-release -opensource -confirm-license -shared -ltcg -rtti -platform win32-msvc2012 -openssl
ещё пробовал такие варианты
Код:
configure -debug-and-release -opensource -confirm-license -shared -ltcg -rtti -platform win32-msvc2012 -openssl -I C:\OpenSSL\include -L C:\OpenSSL\lib
configure -debug-and-release -opensource -confirm-license -shared -ltcg -rtti -platform win32-msvc2012 -openssl-linked -I C:\OpenSSL\include -L C:\OpenSSL\lib
configure -debug-and-release -opensource -confirm-license -shared -ltcg -rtti -platform win32-msvc2012 -openssl OPENSSL_LIBS="-LC:\\OpenSSL\\lib -lssl -lcrypto"
Проблема в том, что когда запускаю сборку Qt в процессе сборки компилятор выдаёт такие ошибки, думаю не может найти исходники Qt/src/network/ssl.
Код:
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(92) : error C2146: syntax error : missing ';' before identifier 'p
eerCertificate'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(92) : error C4430: missing type specifier - int assumed. Note: C++
 does not support default-int
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(93) : error C2065: 'QSslCertificate' : undeclared identifier
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(93) : error C2923: 'QList' : 'QSslCertificate' is not a valid temp
late type argument for parameter 'T'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(94) : error C2146: syntax error : missing ';' before identifier 'l
ocalCertificate'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(94) : error C4430: missing type specifier - int assumed. Note: C++
 does not support default-int
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(96) : error C2146: syntax error : missing ';' before identifier 'p
rivateKey'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(96) : error C4430: missing type specifier - int assumed. Note: C++
 does not support default-int
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(97) : error C2146: syntax error : missing ';' before identifier 's
essionCipher'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(97) : error C4430: missing type specifier - int assumed. Note: C++
 does not support default-int
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(98) : error C2065: 'QSslCipher' : undeclared identifier
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(98) : error C2923: 'QList' : 'QSslCipher' is not a valid template
type argument for parameter 'T'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(99) : error C2065: 'QSslCertificate' : undeclared identifier
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(99) : error C2923: 'QList' : 'QSslCertificate' is not a valid temp
late type argument for parameter 'T'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(102) : error C2653: 'QSslSocket' : is not a class or namespace nam
e
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(102) : error C2146: syntax error : missing ';' before identifier '
peerVerifyMode'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(102) : error C4430: missing type specifier - int assumed. Note: C+
+ does not support default-int
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(109) : error C2146: syntax error : missing ';' before identifier '
defaultConfiguration'
c:\qt\test\src\network\ssl\qsslconfiguration_p.h(109) : error C4430: missing type specifier - int assumed. Note: C+
+ does not support default-int

покопался в багтрекере и нашёл похожий баг для версии Qt 5.1.0 - https://bugreports.qt-project.org/browse/QTBUG-32830, для версии 4.8 записей не нашёл.
Вопрос, что я делаю не так и как мне собрать Qt 4.8.5 с поддержкой OpenSSL?
« Последнее редактирование: Октябрь 04, 2013, 08:21 от CyclicBarrier » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Октябрь 04, 2013, 09:49 »

Я собираю так для mingw:

Код:
set OPENSSLDIR=%~dp0extra\openssl

configure.exe <...> -openssl -I %OPENSSLDIR%\include -L %OPENSSLDIR%\lib -L %OPENSSLDIR%\bin
Записан
CyclicBarrier
Гость
« Ответ #2 : Октябрь 04, 2013, 10:11 »

Сделал так, не помогло
Код:
configure -platform win32-msvc2012 -openssl -I C:\OpenSSL\include -L C:\OpenSSL\lib -L C:\OpenSSL\bin
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Октябрь 04, 2013, 10:15 »

покажи полный вывод configure. Openssl судя по всему не подключился.
Записан
CyclicBarrier
Гость
« Ответ #4 : Октябрь 04, 2013, 10:36 »

Полный вывод configure в аттаче.
Для configure я передаю опцию какой конкретно использовать компилятор, а именно VS2012, у меня ещё стоит VS2010 и он не используется.
« Последнее редактирование: Октябрь 04, 2013, 10:38 от CyclicBarrier » Записан
CyclicBarrier
Гость
« Ответ #5 : Октябрь 04, 2013, 13:07 »

Я собираю так для mingw:

А какую версию Qt с какой версией OpenSSL так собираешь?
« Последнее редактирование: Октябрь 04, 2013, 13:13 от CyclicBarrier » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #6 : Октябрь 04, 2013, 14:15 »

Qt 4.8.5, OpenSSL последний 1.0.1e
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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