gpt4 book ai didi

c - 编译代码时出现LNK2019错误

转载 作者:太空宇宙 更新时间:2023-11-04 04:57:23 27 4
gpt4 key购买 nike

我有一些示例代码,我在 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);
}

最佳答案

如果您将代码编译为 C++,但头文件是为 C 编写的,则需要按如下方式包含它:

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

关于c - 编译代码时出现LNK2019错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4756847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com