在xcode中编译多个.c文件 - 首先是头文件

时间:2017-01-12 08:27:18

标签: c

我的问题是关于我用来学习C的书的练习;首先。在练习中,我们学习在某些.c文件之间共享功能。我在Xcode 8.2.1工作,想知道Xcode是否可以为我编译这个练习。我已经让它与终端一起正常工作了,但我想知道Xcode是否允许这个编译,而且我的财产或其他东西都出了问题。

该程序是一个简单的XOR加密程序。

这是文件:

main.c中:

#include <stdio.h>
#include "encrypt.h"

int main()
{
    char msg[80];
    printf("Type your message to be encrypted:\n");
    while (fgets(msg, 80, stdin)) {
        encrypt(msg);
        printf("The encrypted message is like this: %s\n", msg);
        encrypt(msg);
        printf("The encrypted message is decrypted as: %s\n",msg);
        printf("Type your message to be encrypted:\n");
    }
}

encrypt.h:

#ifndef ENCRYPT_H_ 
#define ENCRYPT_H_

void encrypt(char *message);

#endif

encrypt.c:

#include "encrypt.h"

void encrypt(char *message)
{
    while (*message) {
        *message = *message ^ 31;
        message++;
    }
}

现在我在main.c文件中收到错误,说明函数加密存在冲突类型。这告诉我它将加密视为一个int值函数(默认情况下)。我认为问题在于程序没有正确地看到加密函数,但是我已经使用正确的声明等来访问正确的头文件。所以这让我觉得有一些编译器问题。

编辑:错误消息为:

Semantic Issue Group: 
PATH/message_hider/encrypt.h:9:6: Conflicting types for 'encrypt'
PATH/message_hider/main.c:17:9: Implicit declaration of function 'encrypt' is invalid in C99

0 个答案:

没有答案