Chinaunix首页 | 论坛 | 博客
  • 博客访问: 335805
  • 博文数量: 47
  • 博客积分: 834
  • 博客等级: 军士长
  • 技术积分: 695
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-07 09:38
文章分类
文章存档

2018年(1)

2015年(1)

2014年(2)

2013年(2)

2012年(23)

2011年(18)

分类: LINUX

2012-01-03 18:29:06

1.Linux下多文件的工程项目编译方法(Makefile

main:message.o sqlite.o main.o order_transact.o ioctrol.o

arm-linux-gcc message.o sqlite.o main.o order_transact.o ioctrol.o -lsqlite3 -L /usr/local/arm/sqlite_arm/ -lpthread -o main

通过对各个.o文件的加载编译生成可执行的main文件(通过./main来执行它)

 

 

main.o:main.c lebaishi.h order_transact.h ioctrol.h

arm-linux-gcc -c main.c -o main.o -lpthread

加载main.c和它调用的.h文件编译成对应的.o文件,-lpthread是线程的编译方式

 

 

message.o:message.c lebaishi.h

arm-linux-gcc -c message.c  -o message.o 

-c 代表要编译c文件,message.c 是需要编译的文件,-o 是要编译成的文件格式,message.o 是编译生成的文件名和格式

 

 

sqlite.o:sqlite.c lebaishi.h

arm-linux-gcc -c sqlite.c -I /usr/local/arm/sqlite_arm/  -L /usr/local/arm/sqlite_arm/ -o sqlite.o

-I 代表    ,-L代表    

 

 

ioctrol.o:ioctrol.c lebaishi.h

arm-linux-gcc -c ioctrol.c -o ioctrol.o

编译生成的.o文件,通过最上面的操作,将所有相关的.o文件放到一起编译成main可执行文件

 

 

order_transact.o: order_transact.c lebaishi.h message.h sqlite.h ioctrol.h

arm-linux-gcc -c order_transact.c -o order_transact.o

 

 

clean:

rm -r -f *~

rm -r -f *.o

删除编译生成的只读的.o~文件(注:只是猜想,还需查证-r-f各自的功能

阅读(5410) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~