C++ 如何在Linux上的Qt程序中包含OpenSSL?

C++ 如何在Linux上的Qt程序中包含OpenSSL?,c++,qt,openssl,pkg-config,libs,C++,Qt,Openssl,Pkg Config,Libs,在我的Qt程序中,我必须将字符串转换成散列。我想在Debian上使用OpenSSL。我的代码简介如下: #包括 ... 无符号字符数据[]=“要散列的数据”; 无符号字符哈希[SHA512_摘要_长度]; SHA512(数据,sizeof(数据)-1,散列); 我已经安装了openssl和libssl-dev。我还更改了我的.pro文档,如下所示: TEMPLATE=app QT=核心gui 页眉+=window.h PKGCONFIG+=openssl//在另一个解决方案中找到,但它不起作用

在我的Qt程序中,我必须将字符串转换成散列。我想在Debian上使用OpenSSL。我的代码简介如下:

#包括
...
无符号字符数据[]=“要散列的数据”;
无符号字符哈希[SHA512_摘要_长度];
SHA512(数据,sizeof(数据)-1,散列);
我已经安装了openssl和libssl-dev。我还更改了我的.pro文档,如下所示:

TEMPLATE=app
QT=核心gui
页眉+=window.h
PKGCONFIG+=openssl//在另一个解决方案中找到,但它不起作用
LIBS+=-L/usr/share/doc libssl dev
greaterThan(QT\u主要版本,4):QT+=widgets
SOURCES+=main.cpp window.cpp
在LIBS中,我尝试了使用
sudo dpkg-L libssl dev
获得的所有可能位置。有人知道我错过了什么吗?它不能编译,我肯定是这样的

谢谢


以下是链接时出现的错误:

/usr/lib/x86_64-linux-gnu/qt4/bin/qmake-o Makefile App.pro
g++-m64-Wl,-O1-o App main.o window.o moc_window.o-L/usr/lib/x86_64-linux-gnu-L/usr/share/doc/libssl dev-libssl dev-lQtGui-lQtCore-lpthread
/usr/bin/ld:找不到-libssl dev
collect2:错误:ld返回了1个退出状态
Makefile:105:目标“应用程序”的配方失败
make:**[App]错误1

通常情况下,如果库是
libsomelib。因此
您必须使用-
lsomelib
导入它,并且在您的情况下,假设您使用系统的工具安装了它,则无需向它传递路径,只需添加以下内容,因为库是
libssl。因此

LIBS += -lssl -lcrypto
或者您也可以使用pkg config:

PKGCONFIG += libssl
其中
/usr/lib/pkgconfig/libssl.pc
是:

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: OpenSSL-libssl
Description: Secure Sockets Layer and cryptography libraries
Version: 1.1.0g
Requires.private: libcrypto
Libs: -L${libdir} -lssl
Libs.private: -ldl 
Cflags: -I${includedir}

“它不编译”不是错误描述。尝试时会出现什么错误?@SoronelHaetir Edited*尝试将
LIBS+=-L/usr/share/doc libssl dev
替换为
LIBS+=-lcrypto
,,etcDone!非常有用。我还必须包括-lcrypto库。如果我使用
QMAKE\u CFLAGS\u ISYSTEM=-I
这样做,我会发现aes.h找不到。否则,我就无法找到stdlib.h。在这里赢不了。