[SOLVED]Compiling Qt4.7.4 error on files of SSL, X64
-
OS: Windows2003 r2 Enterprise X64
Source code: Qt4.7.4
Compiler:VC++ 2008 64bit commandfirst time, I use configure options like:
@-platform win32-msvc2008 -opensource -debug -debug-and-release -no-phonon -fast -nomake examples -nomake demos -no-dsp -no-vcproj -no-cetest -no-s60 -qt-sql-odbc -qt-sql-sqlite -plugin-sql-odbc -plugin-sql-sqlite -no-qt3support -no-opengl -no-openvg -no-incredibuild-xge @
and nmake has no error then continue to my programing. but soon I found I'v missed OpenSSL, and QWebview in my App can not show page for HTTPS, so i download OpenSSL win64 package and installed.Then add "-openssl" to the configure.exe and nmake again, but some error happened to stop:
cl -c -FIqt_pch.h -Yuqt_pch.h -Fptmp\obj\debug_shared\QtNetworkd_pch.pc
-nologo -Zm200 -Zc:wchar_t- -Zi -MDd -W3 -w34100 -w34189 -MP -GR -EHsc -DQT_SH
RED -DQT_THREAD_SUPPORT -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_BUILD_NET
ORK_LIB -DQT_NO_USING_NAMESPACE -DQT_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_C
ST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENA
ION -D_USE_MATH_DEFINES -DQT_DLL -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -D
T_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -I"....\include\QtCore" -I"....\in
lude" -I"....\include\QtNetwork" -I"tmp\rcc\debug_shared" -I"tmp" -I"..\3rdpar
y\zlib" -I"kernel" -I"....\include\ActiveQt" -I"tmp\moc\debug_shared" -I"....
mkspecs\win32-msvc2008" -Fotmp\obj\debug_shared\ @C:\DOCUME~1\ADMINI~1\LOCALS~1
Temp\nmA7.tmp
qsslcertificate.cpp
d:\qt\4.7.4\src\network\ssl\qsslconfiguration_p.h(88) : error C2146: syntax error : missing ')' before identifier“peerCertificate”
d:\qt\4.7.4\src\network\ssl\qsslconfiguration_p.h(88) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
...
..
.
It seemed something wrong with my SSL compiling. I have searched a lot but could not find a clue. can anyone help? -
Hi,
What version of OpenSSL did you install ?
By the way, since you're compiling your own version of Qt, why use such an old version ?
-
- The version of OpenSSL is Win64OpenSSL_Light-1_0_1e.exe.
- Because I have a project using Webkit and SSL created years ago, on Qt4.7 XP win32. I want to compile a version to win64, but Qt do not offer an official x64 version, so I have to do it myself.
[quote author="SGaist" date="1367186924"]Hi, What version of OpenSSL did you install ? By the way, since you're compiling your own version of Qt, why use such an old version ?[/quote]
-
The open ssl version seems right (Personally I use the full version)
Since you recompile everything, why not use the latest Qt 4 (4.8.4) ?
-
I downloaded Qt4.8.4, compiled again, but some new error occured:
DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant
platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected end of file in macro expansion[quote author="SGaist" date="1367229921"]The open ssl version seems right (Personally I use the full version) Since you recompile everything, why not use the latest Qt 4 (4.8.4) ?[/quote]
-
Did you download the zip file ?
-
Yes, I downloaded zip format Qt4.8.4 source code, and also install a non-light version of Win64OpenSSL.
Error C2001 and C1057 seems some wrong writing with file "platform\DefaultLocalizationStrategy.cpp", at line 327, I googled and fixed it.
Thanks to "SGaist" for your suggestions. I finnally got passed through building. Thanks again.
[quote author="SGaist" date="1367305991"]Did you download the zip file ?[/quote]
-
I'm glad you found a solution !
Don't forget to update the thread's title to solved so other forum users may know that it's all good :)