У меня есть следующие каталоги в моем домашнем каталоге.
source
include
Lib
В исходном каталоге у меня есть следующие файлы:
a.c
#include <stdio.h>
#include "a.h"
extern void function(void);
int main()
{
printf("PREDEFINED = %d\n",PREDEFINED);
function();
return 0;
}
b.c
#include <stdio.h>
void function()
{
printf("Hello from function\n");
}
a.h
#define PREDEFINED 100
Я скомпилировал bc и переместил bo в папку Lib.
Затем я попытался выполнить следующую команду из source
folder
gcc -Wall -o temp a.c -I../include -L../Lib
Но он показывает следующую ошибку a.c: undefined reference to
function``
Но когда я использую следующую команду, она создает выходной файл temp
без ошибок
gcc -Wall -o temp a.c -I../include ../Lib/b.o
Где яидет не так?