一、须要用到的hw.cpp hw.h funtest.cpp funtest.h makefile 几个測试文件

1、hw.cpp代码例如以下:

#include "hw.h"
#include "funtest.h"
using namespace std;
using namespace boost;
int main()
{
timer t;
{
int i=1;
}
auto i="abc";
cout<<i<<endl;
cout<<"endl"<<endl;
cout<<"abcdefj"<<endl;
cout << "最大处理时间:" << t.elapsed_max() / 3600 << " h" << endl;
cout << "最小处理时间:" << t.elapsed_min() << " s" << endl;
cout << "逝去时间:" << t.elapsed() << " s" << endl;
cout<<"每行须要一个tab键"<<endl;
funtest::testa test1;
test1.testafun();
}

2、hw.h代码例如以下:

#ifndef __HW_H__
#define __HW_H__
#include <iostream>
#include <boost/timer.hpp>
#include <boost/progress.hpp> #endif

3、funtest.cpp代码例如以下:

#include "funtest.h"

using namespace std;

namespace funtest
{
testa::testa()
{
cout<<"testa()"<<endl;
} testa::~testa()
{
cout<<"~testa()"<<endl;
} void testa::testafun()
{
cout<<"testa::testafun()"<<endl;
}
}

4、funtest.h代码例如以下:

#ifndef __FUNTEST__H__
#define __FUNTEST__H__
#include <iostream>
namespace funtest
{
class testa
{
public:
testa();
~testa();
void testafun();
};
} #endif

二、makefile的编写以及使用演示样例

1、makefile代码例如以下:

#----------------------------------------------------------
#makefile helloworld測试用例
#
#
#
#
#-----------------------------------------------------------
ggg=g++49
exe=helloworld #全部的.o文件写在这里
obj = hw.o funtest.o #所要关联的cpp文件写在这里
cpp = hw.cpp funtest.cpp $(exe):$(obj)
@echo "链接開始................"
$(ggg) -o $(exe) $(obj) hw.o : $(cpp)
@echo "编译開始................"
$(ggg) -std=c++11 -c $(cpp) .PHONY : clean delete
all:
@echo "開始make all..........." clean:
@echo "開始清理................"
-rm -rf $(obj) $(exe)
delete:
@echo "delete.................."
pwd

2、用法linux简单演示样例。

[mythcpp@localhost src]$ make clean

開始清理................

rm -rf hw.o funtest.o helloworld

[mythcpp@localhost src]$ make

编译開始................

g++49 -std=c++11 -c hw.cpp funtest.cpp

链接開始................

g++49 -o helloworld hw.o funtest.o

[mythcpp@localhost src]$ make all

開始make all...........

[mythcpp@localhost src]$ make delete

delete..................

pwd

/home/mythcpp/src

3、程序输出演示样例:
[mythcpp@localhost src]$ ./helloworld

abc

endl

abcdefj

最大处理时间:2.56205e+09 h

最小处理时间:1e-06 s

逝去时间:0 s

每行须要一个tab键

testa()

testa::testafun()

~testa()

[mythcpp@localhost src]$


三、须要注意的几点
1、g++49是g++4.9版本号的g++
命令行演示样例:
[mythcpp@localhost src]$ ll /usr/bin/g++49

lrwxrwxrwx. 1 root root 23 May  8 05:05 /usr/bin/g++49 -> /home/gcc-4.9.0/bin/g++

[mythcpp@localhost src]$ type g++49

g++49 is /usr/bin/g++49

2、makefile以tab为间格。不要以空格開始,会报错的。


3、echo 要写在lable以下。如:

$(exe):$(obj)

        @echo "链接開始................"

        $(ggg) -o $(exe) $(obj)
4、makefile文件里的all clean delete 等等伪标签能够自行实现功能命令。
这里最主要是使用make 和make clean两条命令

5、关于makefile的具体编写请百度,谷歌。此文档仅仅适用入门。


简单编写makefile文件,实现GCC4.9编译项目,增加boost库測试等等。。的更多相关文章

  1. 根据给定文件编写Makefile文件 两种方法编译

    实例一 1.分析源文件代码依赖关系 mian.c #include "test1.h" #include "test2.h" #include <stdi ...

  2. 如何编写makefile文件

    最近一直在学习makefile是如何编写的.       当我们写的程序文件比较少的时候,敲入gcc /g++,当你在大型工程中,在一个个编译文件的话,你可能就会很郁闷.linux有一个自带的make ...

  3. 教会你如何编写makefile文件

    最近一直在学习makefile是如何编写的.当我们写的程序文件比较少的时候,敲入gcc /g++,当你在大型工程中,在一个个编译文件的话,你可能就会很郁闷.linux有一个自带的make命令,它让你的 ...

  4. 一个简单的makefile文件

    一个简单的makefile文件:可以编译指定目录下的所有c和cpp文件,暂未加入自动头文件的依赖. #!/bin/bash #编译器 CROSS_COMPILING_PATH = #源文件路径 VPA ...

  5. 转:教会你如何编写makefile文件

    最近一直在学习makefile是如何编写的.当我们写的程序文件比较少的时候,敲入gcc /g++,当你在大型工程中,在一个个编译文件的话,你可能就会很郁闷.linux有一个自带的make命令,它让你的 ...

  6. 为多个文件夹下的C源代码编写Makefile文件

    上一篇文章写了如何为在同一个文件夹下的C源代码,本篇文章为多个文件夹下的C源代码编写Makefile文件. 建立两个文件夹,分别为abs与src.其最终目录结构如下: 1 $ ls * 2 jun.c ...

  7. MyEclipse部署项目到Tomcat上,但是classes文件夹下没有编译项目

    在MyEclipse中把项目部署到Tomcat上,但是Tomcat下的classes文件夹下没有编译项目解决方法:1-直接在点击菜单栏的Project--clean,对项目进行clean2-查看菜单栏 ...

  8. windows下编译和安装boost库

    boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...

  9. 一个简单的makefile文件编写

    下午闲来无聊,就打开很久没动过的linux系统想熟悉熟悉在linux上面编译代码,结果一个makefile文件搞到晚上才搞定,哈哈! 先把代码简单贴上来,就写了一个冒泡排序: sort.h: #ifn ...

随机推荐

  1. 马上着手开发 iOS 应用程序

    https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOSCh/chapters/Introd ...

  2. CSS的引入方式和样式

    CSS的引入方式和样式 一.样式 行内样式 内接样式 外接样式(1.链接式 2.导入式) <!--行内样式--> <div> <p style="color: ...

  3. Ubuntu 常用快捷键

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50285313 1 桌面 快捷键 作用 ...

  4. (转)redis源代码分析 – event library

    每个cs程序尤其是高并发的网络服务端程序都有自己的网络异步事件处理库,redis不例外. 事件库仅仅包括ae.c.ae.h,还有3个不同的多路复用(本文仅描述epoll)的wrapper文件,事件库封 ...

  5. UltraEdit正則表達式介绍及实例

    前几天,有个将Excel中的数据导入到数据库中的需求.原本想到用程序读取Excel中的数据并存储到数据库中,但经一哥们的提醒,说用 EditPlus或UltraEdit这种工具直接将数据拼凑成SQL插 ...

  6. unity3d 延迟运行脚本语句

    在Unity3D中.有yield语句它负责延迟操作,yield return WaitForSeconds(3.0); //等待 3 秒 查看unity3d脚本手冊,使用方法须要在对应的格式. 以下代 ...

  7. LeetCode——Copy List with Random Pointer

    A linked list is given such that each node contains an additional random pointer which could point t ...

  8. Linux系统安装Redis数据库

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  9. 002.ActiveMQ的安装

    本安装说明基于CentOS7.1的版本,其他版本也基本可以参考. 1. 安装JDK1.8 CentOS7.1版本安装时忘记是默认还是自己选中的安装了OpenJDK,也是1.8的版本,因为ActiveM ...

  10. Sublime Text 3 注册码 激活码 版本号 Build 3143

    —– BEGIN LICENSE —– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA ...