一、须要用到的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. JAVA 多线程知识总结(一)

    一,线程的生命周期以及五种基本状态 关于JAVA线程的生命周期,首先看一下下面这张图 上图中基本上囊括了Java中多线程各重要知识点.掌握了上图中的各知识点,Java中的多线程也就基本上掌握了. Ja ...

  2. jquery中的jsonp跨域调用

                                                    jquery jsonp跨域调用接口

  3. POI 详细介绍

    Apache POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.目前POI已经有了Ruby版本. 结构: HSSF - 提供读写Microsoft Excel XLS格式 ...

  4. Mysql学习总结(31)——MySql使用建议,尽量避免这些问题

    做服务器端开发的同学们,相信对于mysql应该是十分熟悉,但是一旦真正出现问题,你是否能够快速的发现问题的起因,并且解决呢?一旦问题涉及到数据库层面,往往不是那么好解决的,通常来说,我们需要提前做应对 ...

  5. spring boot约定优于配置的这种做法在如今越来越流行了

    约定优于配置的这种做法在如今越来越流行了,它的特点是简单.快速.便捷.但是这是建立在程序员熟悉这些约定的前提上.而 Spring 拥有一个庞大的生态体系,刚开始转到 Spring Boot 完全舍弃 ...

  6. Spring中基于Java的配置@Configuration和@Bean用法 (转)

    spring中为了减少xml中配置,可以生命一个配置类(例如SpringConfig)来对bean进行配置. 一.首先,需要xml中进行少量的配置来启动Java配置: <?xml version ...

  7. Java7的那些新特性

    本文介绍的java 7新特性很多其它的感觉像是语法糖.毕竟java本身已经比較完好了.不完好的非常多比較难实现或者是依赖于某些底层(比如操作系统)的功能. 不过java7也实现了类似aio的强大功能. ...

  8. cocos2d-x3.2 下使用多线程

    事实上在cocos2dx下使用多线程事实上就是用C++去写,这里提供几个简单的样例: 原文地址:http://blog.csdn.net/qqmcy/article/details/36227377 ...

  9. Android 输入管理服务-输入事件向详细应用的分发

    输入管理服务接收到输入事件,对输入事件进行处理之后会把输入事件分发到详细的应用中(如WMS.壁纸服务等)去处理的,这里涉及到了JNI从C++层向JAVA层的调用. 详细流程例如以下图所看到的:

  10. Mosquito的优化——epoll优化(七)

    本文由逍遥子撰写,转发请标注原址: http://blog.csdn.net/houjixin/article/details/46413583 或 http://houjixin.blog.163. ...