Crypto ++ライブラリは、cryptlib.lib
およびcryptopp.lib
に対してコンパイルしてレイトバインディングをサポートしています。これにはcryptopp.dll
を使用する必要があります。このDLLを/DELAYLOAD:cryptopp.dll
で遅延ロードしようとすると、必要なインポートのためにロードが遅延しないというリンクエラーが発生します。一例として、遅延ロードcrypto ++ cryptopp.dll
は、次のコードを参照してください。
#include <Crypto++/dll.h>
#include <crypto++/base64.h>
bool HexDecode(const std::string& strHex, std::string& strData)
{
try
{
CryptoPP::StringSource(strHex, true,
new CryptoPP::Base64Decoder(
new CryptoPP::StringSink(strData)));
}
catch(...)
{
return false;
}
return true;
}
をこれには、次のリンクエラーが発生します。
LINK : fatal error LNK1194: Delay loading "cryptopp.dll" not possible because of import of data symbol ""__declspec(dllimport) bool (__cdecl* CryptoPP::g_pAssignIntToInteger)(class type_info const &,void *,void const *)" ([email protected]@@[email protected]@[email protected])". Link without /DELAYLOAD:cryptopp.dll
誰もがすでに正常負荷cryptopp.dll
を遅らせることに成功しましたか?