linux下 一个项目(源文件位于多个文件夹或者子文件夹),怎么编写makefile文件?满意高分!
如题!是自己手工编写还是用autotools还是qmake那个比较快捷方便?尽量说详细点,谢谢!满意高分!...
如题 !是自己手工编写还是用autotools 还是qmake 那个比较快捷方便 ?尽量说详细点,谢谢!满意高分!
展开
4个回答
展开全部
# Copyright (c) 2006 Unihz Technologies Co., LTD.
# Author: Raymond S. <zhonghuashe@unihz.com>
PROGRAM := write # 最后的可执行文件
SOURCES := $(wildcard *.cpp) #通配当前目录下说有的.cpp文件
#SOURCES += $(wildcard src/*.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) #把$(SOURCES)中的变量符合后缀是.cpp的全部替换成.o,
CC := gcc
#CFLAGS := -c -ggdb -Wall -DBUILD_TIME="\"`date`\"" -DDEBUG
CFLAGS :=
#INCLUDE := -I ../unihz -I ../config -I traffic_light
INCLUDE :=
#LIB := ../unihz/libunihz.a ../config/libconfig.a -lpthread
LIB := #库文件
.PHONY: clean install
$(PROGRAM): $(OBJS)
$(CC) -o $@ $^ $(LIB)
%.o: %.cpp
$(CC) -c $^ $(CFLAGS) $(INCLUDE) # $@:当前规则的目的文件名, $<:依靠列表中的第 一个依靠文件,而 $^:整个依靠的列表(除掉了里面所有重复的文件名)。
clean:
rm *.o src/*.o $(PROGRAM) -f
install: $(PROGRAM)
cp $(PROGRAM) ./bin/
拿这个去该改吧,比较通用的
# Author: Raymond S. <zhonghuashe@unihz.com>
PROGRAM := write # 最后的可执行文件
SOURCES := $(wildcard *.cpp) #通配当前目录下说有的.cpp文件
#SOURCES += $(wildcard src/*.cpp)
OBJS := $(patsubst %.cpp,%.o,$(SOURCES)) #把$(SOURCES)中的变量符合后缀是.cpp的全部替换成.o,
CC := gcc
#CFLAGS := -c -ggdb -Wall -DBUILD_TIME="\"`date`\"" -DDEBUG
CFLAGS :=
#INCLUDE := -I ../unihz -I ../config -I traffic_light
INCLUDE :=
#LIB := ../unihz/libunihz.a ../config/libconfig.a -lpthread
LIB := #库文件
.PHONY: clean install
$(PROGRAM): $(OBJS)
$(CC) -o $@ $^ $(LIB)
%.o: %.cpp
$(CC) -c $^ $(CFLAGS) $(INCLUDE) # $@:当前规则的目的文件名, $<:依靠列表中的第 一个依靠文件,而 $^:整个依靠的列表(除掉了里面所有重复的文件名)。
clean:
rm *.o src/*.o $(PROGRAM) -f
install: $(PROGRAM)
cp $(PROGRAM) ./bin/
拿这个去该改吧,比较通用的
快又稳
2024-10-28 广告
2024-10-28 广告
在Linux环境下配置基于域名的虚拟主机,需安装Apache或Nginx等Web服务器,并编辑配置文件。以Apache为例,需创建虚拟主机配置文件,指定域名、文档根目录等,然后启用该配置文件并重启Apache服务。同样,Nginx也需在相应...
点击进入详情页
本回答由快又稳提供
展开全部
手工编写会写死你的。
用autotools,qmake是QT的一个工具,也能生成makefile,不过,你不开发QT程序,就用不上qmake。
其实autotools也不好用。如果你不开发QT程序,建议你用kdevelop这个开发工具,它可以自动生成makefile(它是自动调用autotools来生成makefile)。
用autotools,qmake是QT的一个工具,也能生成makefile,不过,你不开发QT程序,就用不上qmake。
其实autotools也不好用。如果你不开发QT程序,建议你用kdevelop这个开发工具,它可以自动生成makefile(它是自动调用autotools来生成makefile)。
追问
kdevelop? 没听说过 要在linux下安装吗? 能较详细的说下这个工具吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没弄过,我记得 qmake 是 qt 的一个集成工具,如果你的项目是 qt 开发的(QT 有自己的开发环境,貌似不用 QT 库也可以用它开发),那么这个 IDE 我记得有工具可以帮助生成 qmake 的脚本。autotools 其实也是自动生成的,但似乎需要自己设置后才能实现。他们两个其实都是辅助你生成 Makefile 的东西。自己写 Makefile 理论上也可以,不过你的项目要是编译工作量很大,那么这东西直接可以让你晕死。也就是编译工作量不大的时候自己写那么几行就能搞定的前提下还是可以考虑的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以把这些源文件放在一个目录里,再make,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询