我的项目中存在一个问题。
我用QtCreator使用MinGW和Qt 5.4.0用Crypt32.Lib && wincrypt.h包含的`_imp__CryptUnprotectData @ 28'的未定义引用
当我尝试编译,这个简单的线条让我的一些错误:
CryptUnprotectData(data.password, NULL, NULL, NULL, NULL, (DWORD) 0, data.uncryptedPassword);
(与DATA_BLOB * data.password和DATA_BLOB * data.uncryptedPassword )
获取我:
undefined reference to `[email protected]'
由于在标题说,我包括在我的.pro的Crypt32.Lib文件:
QT += core gui
QT += sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = ChromePass
LIBS += -L$$PWD/ -lCrypt32
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
chromehandler.cpp \
passdata.cpp
HEADERS += mainwindow.h \
chromehandler.h \
passdata.h
FORMS += mainwindow.ui
而且作为MSDN api指示,包括wincrypt.h:
#include <windows.h>
#include <wincrypt.h>
#include <cstdlib>
#include <fstream>
错误是还在那里,我检查wincrypt.h
确保CryptUnprotectData
的定义,它是:
WINIMPM WINBOOL WINAPI CryptUnprotectData(DATA_BLOB *pDataIn,LPWSTR *ppszDataDescr,DATA_BLOB *pOptionalEntropy,PVOID pvReserved,CRYPTPROTECT_PROMPTSTRUCT *pPromptStruct,DWORD dwFlags,DATA_BLOB *pDataOut);
我一直在尝试一整天......有没有人有线索?
非常感谢!
该死! 感谢您的回答,我会研究这个! – Olbaid