C++ 无法将openssl链接到Qt

C++ 无法将openssl链接到Qt,c++,windows,qt,openssl,C++,Windows,Qt,Openssl,我已经在linux上与Qtcreator启动了一个项目。这个项目使用Openssl库来工作。 因此,在我的.pro文件中,我添加了以下几行: LIBS += -lssl LIBS += -lcrypto 因此,在linux上,它可以完美地工作 但是,我必须在windows上继续我的项目。我必须用cygwin安装Openssl,我选择了这个包:“cygwin32-Openssl-1.0.1e-1.tar.bz2”,因为我用32位编译 我在我的程序文件夹中创建了一个名为libs的子库,

我已经在linux上与Qtcreator启动了一个项目。这个项目使用Openssl库来工作。 因此,在我的.pro文件中,我添加了以下几行:

LIBS    += -lssl
LIBS    += -lcrypto
因此,在linux上,它可以完美地工作

但是,我必须在windows上继续我的项目。我必须用cygwin安装Openssl,我选择了这个包:“cygwin32-Openssl-1.0.1e-1.tar.bz2”,因为我用32位编译

我在我的程序文件夹中创建了一个名为libs的子库,并将三个openssl文件夹(bin、include和lib)放在我的“libs”库中

lib目录的内容是:

libcrypto.a
libcrypto.dll.a
libssl.a
libssl.dll.a
pkgconfig/libcrypto.pc
pkgconfig/libssl.pc
pkgconfig/openssl.pc
在bin目录中,我有2.dll、cygcrypto-1.0.0.dll和cygssl-1.0.0.dll

我在.pro文件中添加了以下行:

LIBS    += -lssl
LIBS    += -lcrypto
LIBS    += -L"$$PWD/libs/openssl/lib/"
INCLUDEPATH += $$PWD/libs/openssl/include/
如果我将-L“$$PWD/libs/openssl/lib/”更改为-L“$$PWD/libs/openssl/bin/”,编译器将无法识别-lssl和-lcrypto选项

QtCreator识别了头文件(例如),当我编译时,没有发生错误

但当我启动我的程序时,它不工作,也没有出现错误。 因此,我在我的主要功能开始时设置了一个断点,然后重新启动程序。之后,一个小窗口向我指示此错误:

可执行文件失败:启动期间,程序退出,代码为0xc0000135

我使用qt5.4.0和mingw32位

我不明白为什么它不起作用。你能帮我吗?
谢谢。

您的整个项目都需要使用cygwin,或者根本不需要。因为我假设您正在使用VisualStudio编译器进行编译,所以需要使用不依赖于cygwin的OpenSSL构建。例如,来自Windows的de-fact OpenSSL二进制软件供应商。

要使此问题无需猜测即可回答,您需要让我们知道:1。确切地说,您正在使用什么Qt-提供您安装的文件的下载链接。2.您用于构建项目的编译器。不要在评论中回答。编辑问题以提供缺少的信息。不要用“已编辑”等词表示编辑。这样可以跟踪所有编辑,所以您不必这样做。我已经下载了Win32 OpenSSL v1.0.2d ans,我已经安装了它。我还更改了.pro文件中的这些行:
LIBS+=-llibeay32 LIBS+=-L“D:/OpenSSL-Win32/lib/”
,但当我编译并启动程序时,我出现了一个错误:此应用程序请求运行时以异常方式终止它。有关更多信息,请联系应用程序的支持团队。QtCreator中的错误消息:传递给C运行时函数的参数无效。我使用qt5.4.0和mingw32位