[英]Makefile Dependicies
我需要创建Makefile的帮助。
我的文件:
GC
VH
虚电路
main()在gc内部,其中包括vh
我的Makefile如下所示:
all: bin/v bin/g
bin/v: v.c
cc v.c -o bin/v -Wall
bin/g: g.c
cc g.c -o bin/g -D_REENTRANT -lpthread -Wall
PHONY: all
运行make all时,出现很多错误:
重定位X的符号索引Y无效
其次是
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o:在函数“ _start”中:
(.text + 0x20):对“ main” collect2的未定义引用:错误:ld返回1退出状态
我的Makefile应该是什么样的?
提前致谢!
我不知道为什么会出现此链接器/加载器错误,可能是您没有在vc
提到vh
,但这是您的Makefile应该看起来像我以前使用过的示例。
考虑您有一个目录名称folder
并且已将所有文件main.c , vh and vc
放在该目录中。 然后在该目录中通过名称Makefile
创建文件。 Makefile的内容应如下
all: main.out
main.out: main.c v.o
gcc -o main.out main.c v.o
v.o: v.c v.h
gcc -c v.c
clean:
rm -rf main.out *.o
因为您尝试在执行时生成可执行文件
bin/v: v.c
cc v.c -o bin/v -Wall
您需要给-c标记只是compile,因为vc不包含任何main,这就是Linker给出错误的原因。 用通俗易懂的术语来说,链接器和加载器会在需要生成可执行文件时进入编译状态
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.