makefile怎样链接.o文件(不要甩《跟我一起写Makefile》地址)

我不得踢噶 2013-11-05 05:39:10
如题。
《跟我一起写Makefile》看的头很晕。
其实我想知道怎样生成可执行文件。或者给我点小例子也可以。谢谢!
...全文
866 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不得踢噶 2013-11-06
  • 打赏
  • 举报
回复
引用 9 楼 max_min_ 的回复:
[quote=引用 8 楼 tyaathome 的回复:] 怎样自动删除 .o文件?

clean : 
    rm *.o
执行 make clean 就好![/quote] 好了谢谢。那个《跟我一起写Makefile》我再去研究下吧。主要是对gcc的命令不太熟悉
max_min_ 2013-11-06
  • 打赏
  • 举报
回复
引用 8 楼 tyaathome 的回复:
怎样自动删除 .o文件?

clean : 
    rm *.o
执行 make clean 就好!
我不得踢噶 2013-11-06
  • 打赏
  • 举报
回复
引用 7 楼 max_min_ 的回复:
[quote=引用 4 楼 tyaathome 的回复:] [quote=引用 3 楼 max_min_ 的回复:] 那个用到了构造函数, 后面 cc 命令的时候加上 -lpthread
什么构造函数?[/quote] sorry 。打错字! 应该是那个用到了那些函数,后面 cc 命令的时候加上 -lpthread [/quote] 怎样自动删除 .o文件?
max_min_ 2013-11-06
  • 打赏
  • 举报
回复
引用 4 楼 tyaathome 的回复:
[quote=引用 3 楼 max_min_ 的回复:] 那个用到了构造函数, 后面 cc 命令的时候加上 -lpthread
什么构造函数?[/quote] sorry 。打错字! 应该是那个用到了那些函数,后面 cc 命令的时候加上 -lpthread
我不得踢噶 2013-11-06
  • 打赏
  • 举报
回复
引用 4 楼 tyaathome 的回复:
[quote=引用 3 楼 max_min_ 的回复:] 那个用到了构造函数, 后面 cc 命令的时候加上 -lpthread
什么构造函数?[/quote] 为什么没有删除 .o文件?
我不得踢噶 2013-11-06
  • 打赏
  • 举报
回复
引用 4 楼 tyaathome 的回复:
[quote=引用 3 楼 max_min_ 的回复:] 那个用到了构造函数, 后面 cc 命令的时候加上 -lpthread
好了解决了。
我不得踢噶 2013-11-06
  • 打赏
  • 举报
回复
引用 3 楼 max_min_ 的回复:
那个用到了构造函数, 后面 cc 命令的时候加上 -lpthread
什么构造函数?
max_min_ 2013-11-06
  • 打赏
  • 举报
回复
引用 2 楼 tyaathome 的回复:
[quote=引用 1 楼 max_min_ 的回复:] 竟然不用看makefile的话!那参考下吧!

CC = gcc 
CPP=g++            
CFLAGS = -Idir1/include -Idir2/include -O2 
OBJS = dir1/test1.o dir2/test2.o main.o 
TARGET = main 
RM = rm -f

$(TARGET):$(OBJS)
    $(CPP) -o $(TARGET) $(OBJS) $(CFLAGS)
$(OBJS):%.o:%.cpp
    $(CPP) -c $(CFLAGS) $< -o $@
clean:
    -$(RM) $(TARGET) $(OBJS)
请问我想链接 -lpthread 库我该怎么写呢? 这是我的Makefile
main : CClient.o CMenu.o testMain.o
		cc  -o main CClient.o CMenu.o testMain.o
CClient.o : CClient.cpp CClient.h
		cc -c CClient.cpp
CMenu.o : CMenu.cpp CMenu.h
		cc -c CMenu.cpp
testMain.o : testMain.cpp
		cc -c testMain.cpp
clear : rm main CClient.o CMenu.o testMain.o
[/quote] 那个用到了构造函数, 后面 cc 命令的时候加上 -lpthread
我不得踢噶 2013-11-06
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:
竟然不用看makefile的话!那参考下吧!

CC = gcc 
CPP=g++            
CFLAGS = -Idir1/include -Idir2/include -O2 
OBJS = dir1/test1.o dir2/test2.o main.o 
TARGET = main 
RM = rm -f

$(TARGET):$(OBJS)
    $(CPP) -o $(TARGET) $(OBJS) $(CFLAGS)
$(OBJS):%.o:%.cpp
    $(CPP) -c $(CFLAGS) $< -o $@
clean:
    -$(RM) $(TARGET) $(OBJS)
请问我想链接 -lpthread 库我该怎么写呢? 这是我的Makefile
main : CClient.o CMenu.o testMain.o
		cc  -o main CClient.o CMenu.o testMain.o
CClient.o : CClient.cpp CClient.h
		cc -c CClient.cpp
CMenu.o : CMenu.cpp CMenu.h
		cc -c CMenu.cpp
testMain.o : testMain.cpp
		cc -c testMain.cpp
clear : rm main CClient.o CMenu.o testMain.o
max_min_ 2013-11-05
  • 打赏
  • 举报
回复
竟然不用看makefile的话!那参考下吧!

CC = gcc 
CPP=g++            
CFLAGS = -Idir1/include -Idir2/include -O2 
OBJS = dir1/test1.o dir2/test2.o main.o 
TARGET = main 
RM = rm -f

$(TARGET):$(OBJS)
    $(CPP) -o $(TARGET) $(OBJS) $(CFLAGS)
$(OBJS):%.o:%.cpp
    $(CPP) -c $(CFLAGS) $< -o $@
clean:
    -$(RM) $(TARGET) $(OBJS)

23,121

社区成员

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

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