---恢复内容开始---

前面已经安装了windows下面的编译器g++和mingw32-make,下面就make做个示例说明

1.文档结构

|--src
       |--comm
               |--comm.cpp(内容如下:)

#include "../include/comm.h"
string trim(string &strIn)
{
string tmp = " ";
strIn.erase(strIn.find_last_not_of(tmp)+,strIn.size()-strIn.find_last_not_of(tmp));
strIn.erase(,strIn.find_first_not_of(tmp));
return strIn;
}

|--Makefile(内容如下:)

 libcomm.a:comm.o
ar -r libcomm.a comm.o
move libcomm.a ..\..\lib
comm.o:comm.cpp
g++ -m64 -c comm.cpp -o comm.o

|--include
               |--comm.h(内容如下:)

#ifndef _COMM_H__
#define _COMM_H__
#include <iostream>
using namespace std;
string trim(string &strIn);
#endif

|--module
               |--test
                           |--Makefile

test.exe:test.cpp
g++ -m64 -I../../include -L../../../lib test.cpp -lcomm -o test.exe
move ./test.exe ../../../bin/

|--test.cpp(内容如下:)

#include <iostream>
#include "..\..\include\comm.h"
using namespace std; int main()
{
//cout<<"Hello World!"<<endl;
string hello = " Hello World! ";
cout<<trim(hello)<<endl;
return ;
}

|--lib

|--bin

2.执行顺序

2.1先到comm(src\comm)下面编译出来.o 和.a 文件,然后把.a移动到lib目录下面

cd src

cd common

mingw32-make

结果如下所示:

your current path>mingw32-make
g++ -m64 -c comm.cpp -o comm.o
ar -r libcomm.a comm.o
ar: creating libcomm.a
move libcomm.a ..\..\lib
移动了         1 个文件。

yout current path>

2.2到test目录(src\module\test)下面编译出来可执行文件,然后把可执行文件移动到bin目录下面:

your current path>mingw32-make
g++ -m64 -I../../include -L../../../lib test.cpp -lcomm -o test.exe
move ./test.exe ../../../bin/
移动了         1 个文件。

your current path>

2.3到bin下面去执行test.exe

your current path>test.exe
Hello World!

your current path>

2.4至此,hello world执行完毕。

3.我这里执行用的是mingw64,make用的是mingw32-make。

使用mingw64下面的g++的时候,执行move命令没有问题,需要加-m64参数(如果OS是64位,推荐使用这个,32位未作测试)

使用mingw32下面的g++的时候,生成的可执行文件也没有问题,但是执行dos命令move就会报错,可以不加参数,默认是-m32.

windows 下面make的使用示例的更多相关文章

  1. Appium(JAVA)Windows 7系统搭建及示例运行

    Appium(JAVA)Windows 7系统搭建及示例运行 分类: Appium 2014-11-14 17:44 4323人阅读 评论(2) 收藏 举报 1.搭建Android环境 http:// ...

  2. Windows Store App Image开发示例

    通过上面的介绍,读者已经了解了Image对象及ImageBrush对象的使用方法和常用属性,在实际的开发工作中,比较常用的是Image对象,下面以一个幼儿园识物识字卡应用为例,来帮助读者更好的理解Im ...

  3. Android学习笔记—Windows下NDK开发简单示例

    该示例假设Android开发环境已经搭建完成,NDK也配置成功: 1.在Eclipse上新建Android工程,名称为ndkdemo.修改res\layout\activity_main.xml &l ...

  4. winreg操作windows注册表详解示例

    #coding:utf-8 #=====================================================================#=====本程序演示了WINR ...

  5. 【python】python彻底卸载的方法【windows安装版卸载的示例】

    要想彻底干净的卸载python,如果是使用的安装版的话,其实很简单.[windows安装版] 就是点击安装包. 例如,当前你安装的版本是3.6.5,你想要把它卸载掉. 查看python版本的命令: 只 ...

  6. Windows Phone SplashScreen初始屏幕示例

    protected override void OnLaunched(LaunchActivatedEventArgs args) { if (args.PreviousExecutionState ...

  7. windows下kafka配置入门 示例

    实验平台与软件: 操作系统:windows7 32  位 java 开发包: jdk1.8.0_144 集群: zookeeper-3.3.6 消息队列: kafka_2.11-0.11.0.1 安装 ...

  8. 在Windows如何解决下Cocos2d-x示例代码TestCpp我找不到lib问题库文件

    遇到此问题,首先确定失踪的库文件,然后找到文件夹,库文件. 在编制Cocos2d-x在TestCpp工程,提示缺少lib文件,共同拥有下面2种可靠解决方式: 1.在Cocos2d-x的根文件夹Debu ...

  9. 背水一战 Windows 10 (5) - UI: 标题栏

    [源码下载] 背水一战 Windows 10 (5) - UI: 标题栏 作者:webabcd 介绍背水一战 Windows 10 之 UI 标题栏 示例TitleBarDemo.xaml <P ...

随机推荐

  1. ubuntu chrome 无法从该网站添加应用,拓展程序或脚本

    昨天装好ubuntu 18.04 lts版本后,下载了chrome( 版本 68.0.3440.106)和SwitchyOmega,本来计划离线安装,结果提示“无法添加来自此网站的应用.扩展程序和应用 ...

  2. 使用wps插件,实现word转PDF

    项目需求:不打算用office自带的组件实现word转pdf操作 环境需求:安装wps2016专业版 新建一个控制台应用程序 添加引用:在COM下 Kingsoft Add-In Designer和U ...

  3. 平衡树简单教程及模板(splay, 替罪羊树, 非旋treap)

    原文链接https://www.cnblogs.com/zhouzhendong/p/Balanced-Binary-Tree.html 注意是简单教程,不是入门教程. splay 1. 旋转: 假设 ...

  4. Android 多媒体 播放音视频

    1.播放音频 因为涉及到读取文件,所以需要申请权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_S ...

  5. DWM1000 测距原理简单分析 之 SS-TWR代码分析1 -- [蓝点无限]

    蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: 这一篇内容主要是通过官方源码理解SS-TWR 细节 代码下载链接:https://download.c ...

  6. git Disconnected:No supported authentication methods available问题解决

    在本地克隆gitlab上的项目,报如下错误:Disconnected:No supported authentication methods available(server sent:publick ...

  7. Vue(二十六)父子组件通信

    今天写了一个分页公共组件,就出现了父子组件通信的问题,今天来总结下我遇到的父子组件通信问题 一.子组件调取父组件的数据或方法 (1)props 想要把父组件的值,传到子组件中,使用props 比如你在 ...

  8. 安装linux

    ctrl+alt tab键切换

  9. C语言面试题分类->宏定义

    1.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 答:#define MIN(x, y) ((x)<(y)?(x):(y))//注意x,y要加括号,因为x,y如果有复合运算会出现问题. ...

  10. 20175320 2018-2019-2 《Java程序设计》第7周学习总结

    20175320 2018-2019-2 <Java程序设计>第7周学习总结 教材学习内容总结 本周学习了教材的第八章的内容,在这章中介绍了常用的实用类,着重讲了如何利用String类.S ...