QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1372|回复: 6

如何在gcc下链接多个文件?

[复制链接]
发表于 2004-9-10 16:45:57 | 显示全部楼层 |阅读模式
如下面所示,我必须链接三个文件,如果文件多了这种方法肯定不行了,我该如何做呢,如同windows在.bat 批处理文件一样
怎么做比较方便,谢谢指教

gcc VUI.cpp MessageIO.cpp Public.cpp -o mm
发表于 2004-9-10 17:03:47 | 显示全部楼层
gcc -c a1.c a2.c a3.c a4.c a5.c -o a.o
gcc -c b1.c b2.c b3.c b4.c b5.c -o b.o
.
.
.
gcc a.o b.o ...... -o xx
回复

使用道具 举报

发表于 2004-9-10 21:40:58 | 显示全部楼层
写makefile文件。
回复

使用道具 举报

发表于 2004-9-11 08:10:41 | 显示全部楼层
写一个简单的Makefile即可解决问题:

[code:1]
Makefile:


CC = gcc
CFLAGS = YOUR_CFLAGS (请根据情况自己修改)
INCLUDE = YOUR_INCLUDE (同上)
LIBS = YOUR_LIBS (同上)
HEADER = YOUR_HEADER (同上)
OBJS = main.o a.o b.o ... *.o (YOUR_OBJS) (同上)

all: $(EXENAME)

.c.o:
        $(CC) -c $(CFLAGS) $(INCLUDE) $<

$(EXENAME): $(OBJS)
        $(CC) -o $(EXENAME) $(OBJS) $(LIBS)

clean:
        rm -f *.o a.out $(EXENAME) core *~
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2004-9-14 11:24:08 | 显示全部楼层
感谢了,能说得更清楚些吗?
比如我有在 /home/fang/include 目录下有 a.h , b.h , c.h 在/home/fang/cpp 下有a.cpp , b.cpp ,c.cpp, 其中 main()函数在a.cpp 中,我只知道用gcc 可以这样编译成目标文件mm
    gcc a.cpp b.cpp c.cpp -o mm
如果用makefile 如何写呢,要写成几个文件呢?
回复

使用道具 举报

发表于 2004-9-15 12:54:34 | 显示全部楼层
一个目录一个makefile,include目录不用。
回复

使用道具 举报

发表于 2004-10-13 02:07:45 | 显示全部楼层
你只有三个原文件,可以先分别编译,在合编撒,最好在一个里有所有的头文件和其他两个文件名头,这样分别编译2个,最后一个总的一编就ok;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 09:37 , Processed in 0.061282 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表