0
#include <..\cryptopp\dll.h>
#include <..\cryptopp\sha.h>
#include <..\cryptopp\hex.h>
#include<..\cryptopp\files.h>

#include <iostream>
#include<string>

using namespace std;
using namespace CryptoPP;

const int MAX_PHRASE_LENGTH=250;

int main(int argc, char *argv[]) {

CryptoPP::SHA256 hash;
byte digest[ CryptoPP::SHA256::DIGESTSIZE ];
std::string message = "Hello World!";

hash.CalculateDigest( digest, (const byte*)message.c_str(), message.length());

CryptoPP::HexEncoder encoder;
std::string output;
encoder.Attach( new CryptoPP::StringSink( output ) );
encoder.Put( digest, sizeof(digest) );
encoder.MessageEnd();

std::cout << "Input string: " << message << std::endl;
std::cout << "SHA256: " << output << std::endl;

return 0;
}

エラー

Compiler: Default compiler Execcuting g++.exe... g++.exe "C:\Users\Pr\Desktop\Work\encrypt\sha256\sampeSHA256.cpp" -o "C:\Users\Pr\Desktop\Work\encrypt\ sha256\sampeSHA256.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I "C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L "C:\Dev-Cpp\lib" C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/seckey.h:8 からインクルードされたファイルで、C:/Dev-Cpp/ からinclude/c++/3.4.2/backward/..\cryptopp/rijndael.h:7, from C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/aes.h:4, C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp\dll.h:11 から、C から:\Users\Pr\Desktop\Work\encrypt\sha256\sampeSHA256.cpp:1: C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/cryptlib.h:277: エラー: 関数std::string CryptoPP::NameValuePairs::GetValueNames() const' definition is marked dllimport. C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp\/cryptlib.h:283: error: functionbool CryptoPP::NameValuePairs::GetIntValue(const char*, int&) const' 定義は dllimport とマークされています。C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/cryptlib.h:287: エラー: function int CryptoPP::NameValuePairs::GetIntValueWithDefault(const char*, int) const' definition is marked dllimport. C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp\/cryptlib.h:291: error: functionstatic void CryptoPP::NameValuePairs::ThrowIfTypeMismatch(const char*, const std::type_info& , const std::type_info&)' 定義は dllimport とマークされています。C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/cryptlib.h:301: エラー: 関数 `void CryptoPP::NameValuePairs::GetRequiredIntParameter(const char*, const char*, int& ) const の定義は dllimport とマークされています。

C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/aes.h:4 からインクルードされたファイルで、C:/Dev-Cpp/include/c++/3.4.2/backward/ から..\cryptopp\dll.h:11、C:\Users\Pr\Desktop\Work\encrypt\sha256\sampeSHA256.cpp:1 から: C:/Dev-Cpp/include/c++/3.4.2/backward/ ..\cryptopp/rijndael.h:15: エラー: 関数 `static const char* CryptoPP::Rijndael_Info::StaticAlgorithmName()' 定義は dllimport とマークされています。

C:\Users\Pr\Desktop\Work\encrypt\sha256\sampeSHA256 から、C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp\dll.h:16 からインクルードされたファイル。 cpp:1: C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/des.h:58: エラー: 関数 `static const char* CryptoPP::DES_EDE2_Info::StaticAlgorithmName()'定義は dllimport とマークされています。

C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/des.h:82: エラー: 関数 `static const char* CryptoPP::DES_EDE3_Info::StaticAlgorithmName()' 定義は dllimport とマークされています.

C:\Users\Pr\Desktop\Work\encrypt\sha256\sampeSHA256 から、C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp\dll.h:37 からインクルードされたファイル。 cpp:1: C:/Dev-Cpp/include/c++/3.4.2/backward/..\cryptopp/skipjack.h:15: エラー: 関数 `static const char* CryptoPP::SKIPJACK_Info::StaticAlgorithmName()'定義は dllimport とマークされています。

実行終了

4

1 に答える 1

0

削除する#include <..\cryptopp\dll.h>

Fraserが言ったように、を使用して-L<path to Crypto++>ください。

フレイザーが言ったように、またはのいずれ-lcryptoppかを使用します-lcrypto++。使用するものは、持っているものによって異なります。デフォルトでは、その-lcryptopp.

于 2014-01-28T03:54:08.817 に答える