• 全部
  • 系统维护与使用
  • 应用程序开发
  • 内核源代码
  • 驱动程序开发
  • CPU和硬件区
  • UNIX文化
  • Solaris
  • Power Linux
  • 问答

如何编译多文件的源代码?

xhenry 2004-08-03 02:58:00
现在有一程序,由5个文件构成(.c和.h)。代码肯定是正确的,在os400上跑着。现在我做了些修改,准备先在redhat9下测试。我已完全安装gcc。

问题一,以下头文件在redhat9中都有吗?
#include <fcntl.h>
#include <sys/times.h>
#include <unistd.h>
#include <sys/time.h>
#include <time.h>
#include <signal.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <strings.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <sys/select.h>

问题二,习惯了windows下VC集成编译环境,不知在linux下如何将多个文件编译成执行文件。
...全文
189 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
racky6362 2004-08-07
用shell也一样可以的

#!/bin/sh
out=file name
........//gcc ..
........ //gcc ..
回复
xhenry 2004-08-04
真奇怪,文件a.c包含头文件a.h,a.h中定义了一些符号常量和函数,然后a.c中使用了这些常量和函数。

然后我开始编译,在cygwin环境中cc a.c -c a.o 没有问题。但在red hat9中用同样的指令编译时,提示变量、函数未定义,为什么?
回复
yjf7888 2004-08-03
makefile,拷个模板照着套就行了
回复
Brierbird 2004-08-03
关于makefile,看《跟我一起写makefile》:
http://www.vczx.com/forum/attachment.php?s=f5bf01c9b3f2f1945117e415720bc353&postid=3391
回复
lvgame 2004-08-03
makefile的语法不是很复杂的,记得前一阵这里有人贴了个写makefile的,不错,找找应该还在的。

有可以直接给你生成makefile的东西,好像叫makeconf吧,记不太清,可以为你直接写好makefile,不过好像效率不高。其实自己写并不复杂,用我们老师的话,你连几百个文件的代码都写了,还在乎写个makefile吗:)
回复
toxyboy 2004-08-03
makefile 写完后用make命令就可以了。
依照楼主的意思makefile可以这样写:
[tab]gcc -o exefile a.c b.c
redha下好像没有那么vc这样的IDE,呵呵。
回复
blankman 2004-08-03
a.c b.c

gcc -o exefile a.c b.c
回复
xhenry 2004-08-03
楼上的makefile写的太乱了,给个清晰,短小的例子,哪怕只包含两个源文件。
makefile文件写完后怎么用?

另外,redhat下有没有类似VC的集成环境,只要把源文件加进入,就能编译。
回复
raylei 2004-08-03
问题一 都有
问题二 写makefile

CC = gcc
CFLAGS =
INCDIR = -I./h ../h
LIBS =
BINNAME = test

COBJS = a1.o a2.o ./dir1/a3.o

.SUFFIXES: .o .c

.c.o: ; $(CC) $(CFLAGS) -c $*.c

#--------------------- Dependency starts here -------------------

all: $(COBJS)
$(CC) $(LIBS) -o $(BINNAME) $(COBJS)

clean: /tmp
-rm -fr $(COBJS)
-rm -fr $(BINNAME)


# DO NOT DELETE
回复
tianxiangyuan 2004-08-03
1、有
2、学习写makefile吧
回复
发帖
Linux/Unix社区
创建于2007-08-27

2.0w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
帖子事件
创建了帖子
2004-08-03 02:58
社区公告
暂无公告