我正在尝试使用两个 C 代码构建一个可执行文件,并将这两个文件与头文件“encrypt.h”链接起来。但它不起作用,你能找出为什么它不起作用吗?
这是我调用加密函数的 c 文件...它被命名为 message_hider.c
#include <stdio.h>
#include "encrypt.h"
int main()
{
freopen("in.txt","r",stdin);
char msg[80];
while (fgets(msg, 80, stdin)) {
encrypt(msg);
printf("%s", msg);
}
}
这是我的头文件 encrypt.h
void encrypt(char *message);
这是 encrypt.c 文件...
#include "encrypt.h"
void encrypt(char *message){
char c;
while(*message){
*message=*message^31;
*message++;
}
}
这就是我在终端中执行但未编译时得到的结果...
gcc message_hider.c encrypt.c -o message_hider
/tmp/ccF56PqA.o: In function `main':
message_hider.c:(.text+0x3c): undefined reference to `encrypt'
collect2: error: ld returned 1 exit status
这是为什么?
最佳答案
在 encrypt.c
中,您拼错了函数名称:
void encript(char *message){
关于c - 为什么一次编译两个 c 文件以在终端中构建通用可执行文件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26946797/