• 5174阅读
  • 3回复

mingw 静态编译qt5.3.1和openssl出现问题,求解!! [复制链接]

上一主题 下一主题
离线401968875
 

只看楼主 倒序阅读 楼主  发表于: 2015-09-01
之前已经用mingw编译过openssl了,然后参照网上的静态编译QT前
编辑C:\Qt\Qt5.3.1\5.3\Src\qtbase\mkspecs\win32-g++\qmake.conf
找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,后面赋值为-static
QMAKE_LFLAGS        = -static
QMAKE_LFLAGS_DLL    = -static


然后配置
  1. configure -confirm-license -opensource -platform win32-g++ -release -static -ltcg -prefix "E:\Qt\5.3.1-static-openssl098" -openssl-linked -I D:\Qt\openssl-1.0.1e\include -L D:\Qt\openssl-1.0.1e\out -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -no-qml-debug -no-c++11 -no-angle -nomake tests -nomake examples -skip qtwebkit

开始编译
mingw32-make


就会出现
  1. mingw32-make[4]: Entering directory 'E:/Qt/Qt5.3.1/5.3/Src/qtxmlpatterns/tools/xmlpatterns'
  2. g++ -static -Wl,--gc-sections -Wl,-s -Wl,-subsystem,console -o ..\..\bin\xmlpatterns.exe .obj/release/main.o .obj/release/qapplicationargument.o .obj/release/qapplicationargumentparser.o .obj/release/xmlpatterns_plugin_import.o  -LD:\Qt\openssl-1.0.1e\include\out -L"D:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" -LD:/Qt/openssl-1.0.1e/out -LE:/Qt/Qt5.3.1/5.3/Src/qtxmlpatterns/lib-lQt5XmlPatterns -LE:/Qt/Qt5.3.1/5.3/Src/qtbase/lib -LE:/Qt/Qt5.3.1/5.3/Src/qtbase/plugins/bearer -lqgenericbearer -lqnativewifibearer -lQt5Network -ldnsapi -lssleay32 -llibeay32 -lcrypt32 -lQt5Core -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
  3. E:/Qt/Qt5.3.1/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lssleay32
  4. E:/Qt/Qt5.3.1/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -llibeay32
  5. collect2.exe: error: ld returned 1 exit status
  6. Makefile.Release:83: recipe for target '..\..\bin\xmlpatterns.exe' failed
  7. mingw32-make[4]: *** [..\..\bin\xmlpatterns.exe] Error 1


可是ssleay32和libeay32都在D:\Qt\openssl-1.0.1e\out中且已在配置中指出了,为什么还是找不到呢?








离线401968875

只看该作者 1楼 发表于: 2015-09-02
有人吗
离线johnyork

只看该作者 2楼 发表于: 2015-09-03
Qt的configure脚本对MinGW静态编译支持不太完善,总有这样那样的问题。如果你不嫌麻烦,而且可以接受高版本的Qt的话,可以考虑使用我做的补丁在MSYS2环境中编译。
Qt5.4.2的补丁
Qt5.5.0的补丁

各自对应版本的Qt请在Qt官网 下载,MSYS2在SourceForge.net 下载
离线stlcours

只看该作者 3楼 发表于: 2015-09-07
楼主能不能讲讲是怎么编译openssl和qt的整个过程的?我的同事成功编译了2者,但是却只能在命令行下使用,但是也很好用,而我还不知道怎么编译。
快速回复
限100 字节
 
上一个 下一个