我正在学习如何在C
中链接共享对象的教程这是我的make文件
test: glenn.c libhala.so
gcc glenn.c -L. -o test
libhala.so: hala.o
gcc -shared hala.o -o libhala.so
hala.o: hala.c hala.h
gcc -c -Wall -Werror -fpic hala.c
clean:
rm *.o
rm *.so
rm test
hala.h
#ifndef HALA
#define HALA
extern void test(char*);
#endif
hala.c
#include "hala.h"
#include <stdio.h>
extern void test(char* s)
{
printf("%s", s);
}
glenn.c
#include <stdio.h>
#include "hala.h"
int main()
{
test("Hello There!");
return 0;
}
这让我感到高兴。请帮帮我..
答案 0 :(得分:2)
链接-lhaha
时,您应添加glenn.c
。
gcc glenn.c -L. -lhala -o test
答案 1 :(得分:1)
在编译-lhala
时添加glenn.c
,因此请将makefile更新为
test: glenn.c libhala.so
gcc glenn.c -L. -lhala -o test