我是新来的Qt,我已经做了一些Googleing并不能找到一个详细的答案足够。
我需要在我基础QMAKE QT间期项目使用OpenSSL。 我怎么去下载/安装/连接,所以我可以做一个包括声明,在我的代码中使用它的功能是什么?
我是新来的Qt,我已经做了一些Googleing并不能找到一个详细的答案足够。
我需要在我基础QMAKE QT间期项目使用OpenSSL。 我怎么去下载/安装/连接,所以我可以做一个包括声明,在我的代码中使用它的功能是什么?
假设Windows中,你可以从它的安装Win32的OpenSSL的安装工程页面 。 您可以选择一个64位Windows开发或32位。 只要运行安装程序,一切都将轻松完成。 默认安装目录为:C:\的OpenSSL的Win32
Qt Creator中,如果再要一个库链接到你的项目,你可以只是这一行添加到您的.pro文件(项目文件):
LIBS += -L/path/to -llibname
因此,这里是我们为这个图书馆做(例如链接ubsec.lib)
LIBS += -LC:/OpenSSL-Win32/lib -lubsec
注意-l和-L。 看到这个问题 。 你甚至都不需要在图书馆名称末尾指定的.lib。
对于包括.h文件这一行添加到您的.pro文件:
INCLUDEPATH += C:/OpenSSL-Win32/include
之后,你可以包括这样的文件:
#include <openssl/aes.h>
我工作在Win 7(32)Qt5.5,而这些答案非为我工作。
所以,我想和大家分享的是终于研究出一个解决方案:
1.我已经安装在C的OpenSSL:\的OpenSSL的Win32
2.在C:\的OpenSSL的Win32 \ MinGW的有两个库文件:
libeay32.a & ssleay32.a
3.我做了他们每个人的改名为扩展名的副本:
libeay32.a -> libeay32.lib & ssleay32.a -> ssleay32.lib
4.我链接库在我的.pro文件中这样说:
LIBS += -LC:/OpenSSL-Win32/lib/MinGW -llibeay32
LIBS += -LC:/OpenSSL-Win32/lib/MinGW -lssleay32
INCLUDEPATH += C:/OpenSSL-Win32/include
5.我选自C 3个复制的.dll文件:\ OpenSSL的-的Win32:
(的libeay32.dll,libssl32.dll,ssleay32.dll)
我的编译/ debug文件夹:
(构建-XXXXX-Desktop_Qt_5_5_1_MSVC2012_32bit-调试/调试)
我希望这将有所帮助。
从乔治在无法使用OpenSSL的AES文件的Qt Creator中 :
如果这是在Linux上,添加以下到您的.pro文件:
PKGCONFIG += openssl
它会处理所有必要的头路径,编译链接器选项和库。
并确保你已经安装在系统中的OpenSSL-devel包。
如果你是win7的,和你的Qt版本是MinGW的,和u从将OpenSSL安装http://slproweb.com/products/Win32OpenSSL.html ,请确保您的lib应该在的OpenSSL的Win32 / lib目录/ MinGW的,并添加一个“LIB”前的libeay32.a和ssleay32.a。
如果您使用cmake
作为构建系统项目,那么你可能包括FindOpenSSL.cmake
如下:
#set(OPENSSL_USE_STATIC_LIBS TRUE) # if you want to use static libssl.a and libcrypto.a
include(FindOpenSSL)
#add_executable(${PROJECT_NAME} ...) or add_library(${PROJECT_NAME} ...)
target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_DL_LIBS} OpenSSL::SSL OpenSSL::Crypto)
${CMAKE_DL_LIBS}
需要在Linux系统上,以避免类似链接时错误“找不到dlopen的象征......”。 在Windows上,成为空。
如果openssl
安装目录不是标准,那么你应该提供OPENSSL_ROOT_DIR
到cmake
,如以加set(OPENSSL_ROOT_DIR "C:/msys64/mingw32")
之前include
或指定-DOPENSSL_ROOT_DIR:PATH=C:/msys64/mingw32
到cmake
可执行文件(在 “项目” - > “生成设置” - > “CMake的” 标签)。