私は学校向けのプロジェクトを行っているので、次のようにコンパイルする必要があります。
gcc hide.c stegano.c -o hide -ansi -pedantic -Wall -Werror
しかし、私はこのエラーを受け取ります:
/tmp/ccDME1jC.o: In function `calculate_n':
stegano.c:(.text+0x0): multiple definition of `calculate_n'
/tmp/ccQxPZJu.o:hide.c:(.text+0x0): first defined here
/tmp/ccDME1jC.o: In function `tam_msg':
stegano.c:(.text+0x87): multiple definition of `tam_msg'
/tmp/ccQxPZJu.o:hide.c:(.text+0x87): first defined here
/tmp/ccDME1jC.o: In function `insere_msg':
stegano.c:(.text+0xe1): multiple definition of `insere_msg'
/tmp/ccQxPZJu.o:hide.c:(.text+0xe1): first defined here
/tmp/ccDME1jC.o: In function `copia':
stegano.c:(.text+0x201): multiple definition of `copia'
/tmp/ccQxPZJu.o:hide.c:(.text+0x201): first defined here
/tmp/ccDME1jC.o: In function `esconde_msg':
stegano.c:(.text+0x274): multiple definition of `esconde_msg'
/tmp/ccQxPZJu.o:hide.c:(.text+0x274): first defined here
collect2: ld returned 1 exit status
プログラムコードはこのようなものです。エラーはおそらくインクルードにあると思うので、実際のコードを非表示にしました。
プログラムhide.cは次のようなものです。
#include <stdio.h>
#include <stdlib.h>
#include "stegano.c"
//code//
次に、hide.cで使用される実際の関数をすべて含むstegano.cを呼び出します。
#include <stdio.h>
#include <stdlib.h>
#include "stegano.h"
//code//
そしてヘッダーファイルstegano.h:
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef unsigned char Byte;
void calculate_n(char name[MAX], int* n, int* x);
int tam_msg(char name[MAX]);
void insere_msg(int size, char name[MAX], Byte* v);
void copia(Byte* v1, Byte *v2, int size);
void esconde_msg(Byte* msg, char name1[MAX], char name2[MAX]);
助けてくれてありがとう!