いくつかの文字列を暗号化するために、windows.hおよびwincrypt.hライブラリを使用して単純なアプリケーションを構築しようとしています。
関数を呼び出すと、CryptProtectData(&input, NULL, NULL, NULL, NULL, 0, &output);
エラーとして表示されます。
error: undefined reference to `_imp__CryptProtectData@28'
私はウェブをたくさん検索しましたが、あまり出てきませんでした。また、Chromiumブラウザーは、ログインを暗号化および復号化するために私のものと同様のコードを使用していることに気付きました。私は別のことをしていません。
QtCreatorIDEを使用してコードをコンパイルしています。
私のコードのいくつか:
std::string plaintext="Some plain text";
DATA_BLOB input;
input.pbData = const_cast<BYTE*>(
reinterpret_cast<const BYTE*>(plaintext.data()));
input.cbData = static_cast<DWORD>(plaintext.length());
DATA_BLOB output;
BOOL result = CryptProtectData(&input, NULL, NULL, NULL, NULL,
0, &output);
編集:もちろん、windows.hライブラリとwincrypt.hライブラリを含めたことに言及するのを忘れました。