繁体   English   中英

Makefile依赖性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM