miracl库中测试代码的兑现

miracl库中测试代码的实现
miracl库中,source/ibe里有一个:sk_3.cpp文件,这个文件貌似可以单独运行,可是,如果我把它直接添加到一个新建的工程中,我把用到的文件都导入进来了,又提示很多错误,该怎么解决呢?(我已经在工程中添加了miracl的静态链接库,等文件)

下面附上sk_3.cpp文件的源代码,和miracl的下载地址给大家,请帮忙看一下吧,非常感谢!!!

miracl下载地址:http://www.shamus.ie/uploads/File/miracl3.zip

sk_3.cpp源文件:

/*
    Sakai & Kasahara IBE key establishment
    using type 3 pairing. See P1363.3
 
    Compile with modules as specified below
 
    For MR_PAIRING_CP curve
    cl /O2 /GX sk_3.cpp cp_pair.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
 
    For MR_PAIRING_MNT curve
    cl /O2 /GX sk_3.cpp mnt_pair.cpp zzn6a.cpp ecn3.cpp zzn3.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
 
    For MR_PAIRING_BN curve
    cl /O2 /GX sk_3.cpp bn_pair.cpp zzn12a.cpp ecn2.cpp zzn4.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
 
    For MR_PAIRING_KSS curve
    cl /O2 /GX sk_3.cpp kss_pair.cpp zzn18.cpp zzn6.cpp ecn3.cpp zzn3.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
 
    For MR_PAIRING_BLS curve
    cl /O2 /GX sk_3.cpp bls_pair.cpp zzn24.cpp zzn8.cpp zzn4.cpp zzn2.cpp ecn4.cpp big.cpp zzn.cpp ecn.cpp miracl.lib
  
    Very Simple Test program 
 */
 
 #include <iostream>
 #include <ctime>
 
 //********* choose just one of these pairs **********
 //#define MR_PAIRING_CP      // AES-80 security   
 //#define AES_SECURITY 80
 
 //#define MR_PAIRING_MNT // AES-80 security
 //#define AES_SECURITY 80
 
 #define MR_PAIRING_BN    // AES-128 or AES-192 security
 #define AES_SECURITY 128
 //#define AES_SECURITY 192
 
 //#define MR_PAIRING_KSS    // AES-192 security
 //#define AES_SECURITY 192
 
 //#define MR_PAIRING_BLS    // AES-256 security
 //#define AES_SECURITY 256
 //*********************************************
 
 #include "pairing_3.h"
 
 int main()
 {   
  PFC pfc(AES_SECURITY);  // initialise pairing-friendly curve
 
  Big q=pfc.order();
 
  Big z,b,SSV,r,H,t;
  G1 P,Z,R;
  G2 Q,KB;
  GT g,w;
  time_t seed;
 
  time(&seed);
     irand((long)seed);
 
 // setup
  pfc.random(P);
  pfc.random(Q);
  g=pfc.pairing(Q,P);
  pfc.precomp_for_power(g);
 
  pfc.random(z);
  pfc.precomp_for_mult(P);
 
  Z=pfc.mult(P,z);
  pfc.precomp_for_mult(Q);
 
 // extract private key for Robert