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

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下如何将多个文件编译成执行文件。
...全文
225 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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吧

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧