Ошибка LNK2019 при компиляции кода - PullRequest
1 голос
/ 21 января 2011

У меня есть пример кода, который я редактировал в Visual Studio 2010 для шифрования и дешифрования с использованием DES.Почему-то, когда я компилирую код, я продолжаю получать эти две ошибки LNK2019, которые относятся к функции des_encrypt1 () и функции des_set_key_checked ().Как видно из моего кода, я обязательно включил файл des.h, и в этом файле перечислены определения для обеих этих функций.Я новичок в C, поэтому я не уверен, что это что-то простое, что я упускаю из виду, но любая помощь будет принята с благодарностью.Я не уверен, как правильно прикрепить код здесь, так что извините, если формат выглядит странно, но выделенное жирным шрифтом ниже должно указывать #include des.h.

#include <des.h>


#define ENC 1
#define DEC 0

//extern des_encrypt1(DES_LONG *data,DES_key_schedule *ks, int enc);

//void des_set_key_checked(const_des_block *key, des_key_schedule *schedule)



int main()
{

int k;
long    in[2];
static unsigned char cbc_key[8] = {0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef};
des_key_schedule key;
//struct timeval start, end;
//double t1, t2, t3, t4;

if ((k = des_set_key_checked(&cbc_key,key)) != 0)
    printf("\nkey error\n");

in[0] = 3212314;
in[1] = 1231233;

printf("DES Clear Text: %ld%ld\n",in[0],in[1]);
//gettimeofday(&start, NULL);
//t1=start.tv_sec+(start.tv_usec/1000000.0);
des_encrypt1(in,key,ENC);
//gettimeofday(&end, NULL);
//t2=end.tv_sec+(end.tv_usec/1000000.0);
//printf("Time for Encryption\n", t2-t1);

printf("DES Encryption: %u%u\n",in[0],in[1]);
//gettimeofday(&start, NULL);
//t3=start.tv_sec+(start.tv_usec/1000000.0);
des_encrypt1(in,key,DEC);
//gettimeofday(&end, NULL);
//t4=end.tv_sec+(end.tv_usec/1000000.0);
//printf("Time for Decryption\n", t4-t3);
}

Ответы [ 2 ]

0 голосов
/ 08 мая 2013

вам нужно включить des.h из openssl /

#include <openssl/des.h>
0 голосов
/ 21 января 2011

Если вы компилируете код на C ++, но заголовок написан для C, вам нужно включить его следующим образом:

extern "C" {
    #include "des.h"
}
...