2015-06-03 71 views
1

我的项目中存在一个问题。
我用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); 

我一直在尝试一整天......有没有人有线索?
非常感谢!

回答