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. cd 到 C:\cpp 我有我的 test.cpp :

测试.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.his的完整路径c:\openssl\include\openssl\md4.h,您的命令将变为:

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