3

やった:

  1. インストール済み MinGW+MSYS
  2. インストールされた ActivePerl
  3. PATHに必要なものをすべて追加しました
  4. 最新の Openssl をダウンロードし、C:\openssl に解凍しました
  5. 私でやったcmd.exe:perl mingw shared --prefix=/c/opensslを設定する
  6. make depand
  7. make
  8. make install
  9. test.cpp がある C:\cpp に移動しました:

test.cpp:

#include <stdio.h>
#include <string.h>
#include <openssl/md4.h>

int main()
{
    unsigned char digest[MD4_DIGEST_LENGTH];
    char string[] = "hello world";

    MD4((unsigned char*)&string, strlen(string), (unsigned char*)&digest);    

    char mdString[33];

    for(int i = 0; i < MD4_DIGEST_LENGTH; i++)
         sprintf(&mdString[i*2], "%02x", (unsigned int)digest[i]);

    printf("md4 digest: %s\n", mdString);

    return 0;
}

それをコンパイルしようとしましたが、これを得ました:

C:\cpp>g++ test.cpp -lcrypto
test.cpp:3:25: fatal error: openssl/md4.h: No such file or directory
compilation terminated.

私は今どうすればいい?

4

1 に答える 1

3

openssl/md4.h含まれているファイルがインストールされているディレクトリを見つけて、そのディレクトリをコマンドに含めます。

たとえば、 のフル パスが の場合、openssl/md4.hコマンドc:\openssl\include\openssl\md4.hは次のようになります。

g++ -Ic:\openssl\include tst.cpp -lcrypto
于 2013-07-14T21:09:38.580 に答える