Makefile方法编译Linux下多文件工程

来源:互联网 发布:属下知罪by枯目鲤鱼乡 编辑:程序博客网 时间:2024/05/17 04:42

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

0 0
原创粉丝点击