您好我正在尝试使用编译成可执行文件的openssl库来编译我为Windows静态编写的QT程序。我以为我成功但是我不能在没有Openssl dll存在的情况下运行porgram。我试图找到一个解决方案,但无法查找解决方案。这就是我所做的:
我通过编辑windows powershell脚本将其传递给configure.bat,以便静态构建qt,然后运行它来构建:
-openssl-linked
-I C:\OpenSSL-Win32\include
-L C:\OpenSSL-Win32\lib\MinGW
OPENSSL_LIBS=""-lUser32 -lAdvapi32 -lGdi32 -lCrypt32""
OPENSSL_LIBS_DEBUG=-""-lssleay32 -llibeay32""
OPENSSL_LIBS_RELEASE=""-lssleay32 -llibeay32""
现在没有openssl dll,可执行文件无法正常工作。我做错了吗?
答案 0 :(得分:0)
您正在使用动态版本的OpenSSL进行链接。您应该使用静态链接:
-L C:\OpenSSL-Win32\lib\MinGW\static
答案 1 :(得分:0)
Shining Light Productions的答案:
Dependency Walker将向您显示可执行文件所依赖的DLL。 使用VC ++ DLL作为源“构建”MinGW库。 IIRC,没有静态MinGW构建(为什么生成的.a文件是 如此巨大的一直是我的一个谜。)