一、须要用到的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. 2019-03-14 Python爬虫问题 爬取网页的汉字打印出来乱码

    html = requests.get(YieldCurveUrl, headers=headers) html=html.content.decode('UTF-8') # print(html) ...

  2. spring mvc 下载的时候中文文件名不显示

    Headers.add("Content-Disposition", "attachment;filename=" + new String(file.getB ...

  3. Java并发和多线程4:使用通用同步工具CountDownLatch实现线程等待

    CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDown ...

  4. JS中的Set 与去重

    -----------------------Set 与去重----------------------- ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值.Se ...

  5. ORDER BY排序子句

    10.ORDER BY排序子句   用于指定将查询结果排序的字段.     //查询emp表所有记录,结果按ename升序排列   select empno,ename   from emp   or ...

  6. Ubuntu17.04安装WineQQ7.8及微信

    安装qq2012成功,但是提示版本过低,qq登录失败. 安装WineQQ WineQQ7.8下载 安装依赖软件,方法来源网上 32位ubuntu:sudo apt install libgtk-3-0 ...

  7. U盘无法格式化的恢复

    昨天装Ubuntu的系统可能把U盘搞崩溃了.然后今早起来U盘无法识别,格式化也不行,用Windows的磁盘管理工具格式化说是:Windows无法格式化U盘. 曾经没遇到这样的情况,所以百度了一下,试了 ...

  8. POJ-3264-Balanced Lineup-单点更新

    题目链接:id=3264">http://poj.org/problem? id=3264 这是一个单点更新的模板题,就不详解了,HDU敌兵布阵那题我有详解:链接:http://blo ...

  9. [BLE--Link Layer]设备蓝牙地址

    简述 不论什么网络设备而言,都会有自己独特的一个MAC地址,不然在设备量较大的情况下非常可能造成通信的混乱.蓝牙是无线通信中使用非常广泛的技术.当然其蓝牙地址也是相当的重要的了. 蓝牙地址简述 种类划 ...

  10. HTML5中x-webkit-speech语音输入功能

    如今各大站点都在搜索框中增加了语音输入功能,只是眼下仅仅有Chrome 11及以上版本号才支持. 能够用chrome浏览器在这里试试效果,点击话筒就可以: 实现起来也很easy,为input加入名为 ...