将Arduino库转换为Visual C ++ dll

时间:2018-12-16 01:34:41

标签: c++ arduino

嘿,我正在竭尽全力解决以下这些错误。 C ++代码来自一个Arduino库,我想将其转换为Visual C ++ dll,以便在我的C#应用​​程序之一中使用。

这些是有错误的区域:

void AES::do_aes_encrypt(BYTE *plain,int size_p,BYTE *cipher,BYTE *key, int bits, BYTE ivl [N_BLOCK]){
  calc_size_n_pad(size_p);
  BYTE plain_p[get_size()];
  padPlaintext(plain,plain_p);
  int blocks = get_size() / N_BLOCK;
  set_key(key, bits) ;
  cbc_encrypt(plain_p, cipher, blocks, ivl);
}

BYTE plain_p [get_size()]; ”的错误是“ 'this'不能在常量表达式中使用”。

string AES::letsDecrypt(BYTE *key, string msg, AES aes) {
  char data_decoded[200];
  char iv_decoded[200];
  char temp[200];
  BYTE out[200];

  aes.set_key(key, sizeof(key));
  msg.toCharArray(temp, 200);
  int b64len = base64_decode(data_decoded, temp, msg.length());
  string(iv_Encoded).toCharArray(temp, 200);

  base64_decode(iv_decoded, temp, string(iv_Encoded).length());  
  aes.do_aes_decrypt((BYTE *)data_decoded, b64len, out, key, 128, (BYTE *)iv_decoded);
  char message[msg.length()];
  char* msgBase64 = (char *)out;

  base64_decode(message, (char *)out, msg.length());

  return std::string(message);
}

msg.toCharArray(temp,200); ”的错误为“ 类“ std :: basic_string,std :: allocator>”没有成员“ toCharArray” < / strong>”。

字符消息[msg.length()]; ”上方同一代码的另一个错误,具有“ 表达式必须具有恒定值”的错误。 / p>

因为我是C ++的新手,所以帮助非常好!

0 个答案:

没有答案