Пытаюсь собрать 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 (https://bugreports.qt-project.org/browse/QTBUG-32830), для версии 4.8 записей не нашёл.
Вопрос, что я делаю не так и как мне собрать Qt 4.8.5 с поддержкой OpenSSL?
покажи полный вывод configure. Openssl судя по всему не подключился.
Полный вывод configure в аттаче.
Для configure я передаю опцию какой конкретно использовать компилятор, а именно VS2012, у меня ещё стоит VS2010 и он не используется.