Makefile 编译生成多个可执行文件】的更多相关文章

CC = gcc CXX = g++ CFLAGS = -O -DDBG -D_REENTRANT -Wall -DUSE_PTHREAD -pthread LDFLAGS = -ldl -lnsl -lm -lpthread #wildcard 对 c文件进行展开 SRCS = $(wildcard *.c) $(wildcard *.cpp) #去除路径信息 dir=$(notdir $(SRCS)) # 把后缀.c 替换成 .o OBJS = $(patsubst %.c, %.o, $(…
VS2010静态编译生成的.exe可执行文件,可以在其他未安装VS2010的电脑直接运行. 静态编译:就是在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖动态链接库. 编译方式: 设置: 1.项目->(鼠标右键,选择属性)配置属性->常规->MFC的使用:在静态库中使用MFC 2.项目 -> 配置属性->C/C++->代码生成->运行库 :选择 多线程调试(/MTd).…
1. make工具 利用make工具可以自动完成编译工作,这些工作包括: 如果修改了某几个源文件,则只重新编译这几个源文件 如果某个头文件被修改了,则重新编译所有包含该头文件的源文件 利用这种自动编译可以大大简化开发工作,避免不必要的重新编译.make工具通过一个称为Makefile的文件来完成并自动维护编译工作,Makefile文件描述了整个工程的编译.连接规则. 2. Makefile文件 Makefile描述了整个工程的编译连接规则.Makefile的基本规则为: TARGET...: D…
make工具与Makefile文件 阅读目录 1. make工具 2. Makefile文件 3. Makefile的简单示例 4. 伪目标 5. Makefile 自动化变量 6. 编译生成多个可执行文件 7. make常用的内嵌函数 正文 回到顶部 1. make工具 利用make工具可以自动完成编译工作,这些工作包括: 如果修改了某几个源文件,则只重新编译这几个源文件 如果某个头文件被修改了,则重新编译所有包含该头文件的源文件 利用这种自动编译可以大大简化开发工作,避免不必要的重新编译.m…
上次随着信号学习告一段落,也标志着linux系统编程相关的知识学完了,而学了这么多知识点,是需要用一个综合的项目来将其进行串起来的,这样学习的技术才会不那么空洞,所以接下来会以一个实际例子来综合运用下所学的知识,该知识点就是涉及到linux系统编程,在开始这个项目之前,还得补充一个知识点,因为会用到它,因为一个项目的源文件往往是由多个.c文件组成的,所以不可能一个个手动去用gcc去编译,所以这个高效工具就产生了-----Make工具. make与Makefile介绍:   Makefile基本规…
二.makefile(上) 01.make工具   利用make工具可以自动完成编译工作.这些工作包括:如果修改了某几 个源文件,则只重装新编译这几个源文件:如果某个头文件被修改了,则 重新编译所有包含该头文件的源文件.利用这个自动编译可大大简化开发 工作,避免不必要的重新编译.   make工具通过一个称为Makefile的文件来完成并自动维护编译工作. Makefile文件描述了整个工程的编译.链接等规则. 02.Makefile的基本规则:   TARGET...:DEPENDENCIES…
序言: 前面的几节课讲解Makefile的一些基本知识也做了一些小例子实践了几下,那么到现在普通的练习则是没有问题.但是如果做项目文件较多又分层次等等还是会碰上好多问题的,这节课补充一些知识. 知识点: 1.makefile的内嵌函数: 2.二级目录Makefile的编写: 3.多级目录Makefile的编写: 原理: GNU make还提供了相关的函数来帮助我们编写此文件,使得我们在编写makefile文件时更加灵活健壮.提供的函数大致分为有:处理文件名.文本内容.变量.命令四种:在这节中不会…
1.前言 在目前的工作中,我遇到这样的一个工作情景,可以认为我要开发一个库,这个库的有多个模块,每个模块的.c放到src中,.h放到include中,这应该是个标准做法. drwxr-xr-x. root root Mar : include drwxr-xr-x. root root Mar : obj drwxr-xr-x. root root Mar : programs drwxr-xr-x. root root Mar : src 然后希望产生的目标文件放到obj目录下. 因为我要对各…
准备工作 注意:本文可能会让你失望,如果你有下列疑问的话:为什么要在终端输命令啊? GCC 是什么东西,怎么在菜单中找不到? GCC 不能有像 VC 那样的窗口吗?…… 那么你真正想要了解的可能是 anjuta,kdevelop,geany,code blocks,eclipse,netbeans 等 IDE 集成开发环境.即使在这种情况下,由于 GCC 是以上 IDE 的后台的编译器,本文仍值得你稍作了解. 如果你还没装编译环境或自己不确定装没装,不妨先执行 > sudo apt-get in…
C/C++编译器的一些易混淆概念,总结一下. 关于什么是Unix-like操作系统,常见操作系统间差异,什么是操作系统接口等等,请参考<操作系统宝鉴>. C/C++编译器有哪些? 首先是如雷贯耳的这几位仁兄,MSVC.GCC.Cygwin.MingW(Cygwin和MingW的英文发音),另外还有些小众和新秀,像ICC(Intel C/C++ Compiler).BCC(Borland C/C++ Compiler,快销声匿迹了).RVCT(ARM的汇编/C/C++编译器,内置在ARM的IDE…