У меня есть 3 каталога, src
, lib
и include
.В include
у меня есть заголовочный файл header3.h
.Его код выглядит следующим образом:
// header3.h
extern void change(int *a);
В lib
У меня есть файл change4.c
, который содержит:
// change4.c
#include <stdlib.h>
#include "header3.h"
void change(int *a){
int y=100;
a=y;
}
В src
У меня есть файл manipulate5.c
, которыйсодержит:
// manipulate5.c
#include <stdio.h>
#include "header3.h"
int main(void){
int x=10;
printf("x is %d\n", x );
change(&x);
printf("x is now %d\n", x );
}
Когда я пытаюсь скомпилировать manipulate5.c
с помощью следующей команды:
gcc -I ../include manipulate5.c`
в каталоге src
, я получаю следующую ошибку:
In function main:
manipulate5.c:(.text+0x2b): undefined reference to change
Так как же заставить manipulate5.c
нормально работать?