BOOST库 将源码作交叉编译 书籍下载
好记性不如烂笔头,BOOST库的移植,我也记录一下。
1. BOOST库 版本1.66.0 下载地址, 附书籍C++ BOOST库开发指南:
https://download.csdn.net/download/qq_37372700/12960498
2.交叉编译:
当前环境:

编译脚本:

my_compile_boost.sh:
#xcompile_boost.sh
mfile=project-config.jam
if [ -e ${mfile} ];then
rm ${mfile}
echo "rm ${mfile}"
fi
#--with-libraries指定编译哪些boost库,all的话就是全部编译,
# 只想编译部分库的话就把库的名称写上,之间用 , 号分隔即可
#--with-libraries=system,filesystem,regex \
./bootstrap.sh \
--with-libraries=all \
--prefix=/home/lmw/open_lib/boost/boost_stuphere
if [ -e ${mfile} ];then
mhost="mips-linux-gnu-g++ -fPIC"
sed -i "/using gcc/c using gcc : mips : ${mhost} ; " ${mfile}
fi
echo "After 5s start compile"
sleep 5s
./b2
echo "Afer 5s start install"
sleep 5s
./b2 install

接着将所需的库文件挪到嵌入式系统内(根据自己调库的需要进行选择,同时考虑嵌入式的磁盘大小情况),
或者也可以直接把库文件放到ubuntu主机内的根文件系统内,重新制作下镜像,然后烧录系统到嵌入式设备上。
然后创建几个符号链接,如下图红色箭头所示。

3.测试代码
当前环境:

my_boost_test.cpp:
// test1 -- ( boost::this_thread::sleep() ) -- Success #include <boost/thread/thread.hpp>
#include <iostream> void wait(int seconds)
{
boost::this_thread::sleep(boost::posix_time::seconds(seconds));
} void thread()
{
for (int i = 0; i < 5; ++i)
{
wait(1);
std::cout << i << std::endl;
}
} int main()
{
boost::thread t(thread); t.join();
}
makefile:
.PHONY: DOIT DOIT:
mips-linux-gnu-g++ -I. my_boost_test.cpp -L./lib -lboost_thread -lboost_system -o boost_app
.
BOOST库 将源码作交叉编译 书籍下载的更多相关文章
- php+gd库的源码安装
php+gd库的源码安装 PHP+GD安装 一.下载软件 gd-2.0.35.tar.gz http://www.boutell.com/gd/ jpegsrc.v6b. ...
- python重试库retryiny源码剖析
上篇博文介绍了常见需要进行请求重试的场景,本篇博文试着剖析有名的python第三方库retrying源码. 在剖析其源码之前,有必要讲一下retrying的用法,方便理解. 安装: pip insta ...
- 如何优雅的阅读 GitHub 上开源 js 框架和库的源码
如何优雅的阅读 GitHub 上开源 js 框架和库的源码 step 先总后分,即先了解一下啊框架的大体架构,又一个全局的认识,在选择某些和感兴趣的部分,仔细阅读,各个击破: 带着问题阅读,用到了什么 ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- Android4.4系统源码百度网盘下载
众所周知.Android如今非常火,肯定也有非常多android开发人员像我一样想研究android系统的源码.可是假设依照Google官方站点http://source.android.com/so ...
- [原创]分享本人自己PY写的BOOST编译程序(源码)
本程序WINDOWS专用,只做抛砖引玉,希望诸位按照各自需求自行修改,主要目的是为了让诸位编译时可以省一些组合指令的时间,只需要修改几个参数即可自动编译. 支持64位编译模式. 改进版本:http:/ ...
- 字节开源RPC框架Kitex的日志库klog源码解读
前言 这篇文章将着重于分析字节跳动开源的RPC框架Kitex的日志库klog的源码,通过对比Go原生日志库log的实现,探究其作出的改进. 为了平滑学习曲线,我写下了这篇分析Go原生log库的文章,希 ...
- vue UI库iview源码解析(2)
上篇问题 在上篇<iview源码解析(1)>中的index.js 入口文件的源码中有一段代码有点疑惑: /** * 在浏览器环境下默认加载组件 */ // auto install if ...
- 小而美的Promise库——promiz源码浅析
背景 在上一篇博客[[译]前端基础知识储备--Promise/A+规范](https://segmentfault.com/a/11...,我们介绍了Promise/A+规范的具体条目.在本文中,我们 ...
- HTTP请求库——axios源码阅读与分析
概述 在前端开发过程中,我们经常会遇到需要发送异步请求的情况.而使用一个功能齐全,接口完善的HTTP请求库,能够在很大程度上减少我们的开发成本,提高我们的开发效率. axios是一个在近些年来非常火的 ...
随机推荐
- oeasy教您玩转vim - 61- # 编辑过程
编辑过程 回忆上次 vi可以加各种参数 vi +4 oeasy.txt vi +/shiyanlou vi +%s/shiyanlou/oeasy/g oeasy.txt vi可以接收stdin的 ...
- Python 标准类库-因特网数据处理之Base64数据编码
该模块提供将二进制数据编码为可打印ASCII字符并将这种编码解码回二进制数据的功能.它为RFC 3548中指定的编码提供编码和解码功能.定义了Base16.Base32和Base64算法,以及事实上的 ...
- ABC349
A link 其实,有人赢比赛,就有人输比赛,一加一减,不管进行多少场比赛,最后所有人的分数和一定是\(0\). 那么知道\(n-1\)个人的分数和,就可以知道第\(n\)个人的了. 点击查看代码 # ...
- RHCA cl210 013 制作镜像 轮转key rabbitmq追踪 写时复制 keystone多域登录图形界面
undercloud 部署 overcloud overcloud控制节点上的组建rabbitmq 排错需要rabbitmq,开启追踪则会更详细,会消耗性能 环境问题 登录一下classroom os ...
- 一文带你了解CAP的全部特性,你学会了吗?
目录 前言 消息发布 携带消息头 设置消息前缀 原生支持的延迟消息 并行发布消息 事务消息 事务消息发送 事务消息消费 事务补偿 消息处理 序列化 过滤器 消息重试 多线程处理 自动恢复/重连 分布式 ...
- 【Vue】Re15 Router 第二部分(缺省路由、动态路由)
一.设置首页重定向: import Vue from 'vue'; import Router from 'vue-router'; import Home from "../compone ...
- 【Vue】15 VueX
[什么是VueX?] VueX是一个专门为Vue.js应用程序开发的状态管理模式, 采用集中式存储管理应用的所有组件状态, 以相应的规则保证按照一种可预测的方式发生改变. 即把多个组件的变量统一放到一 ...
- 机器人操作系统ROS (学习视频)—— 学习ROS,安装Ubuntu,虚拟机和双系统如何选择
分享一个ROS入门视频: https://www.bilibili.com/video/BV1BP4y1o7pw/
- 如何在vscode中同时运行多个文件——server/client模式——在launch.json文件中设置多个configurations再compounds
在vscode中我们一般都是同一时间只运行一个代码,但是这种设置并不适合server/client模式,甚至有很多分布式和并行的项目需要同一时间运行多个client,针对这种情况我们可以通过设置vsc ...
- git 如何在本地同步远程已经删除的分支
背景 因为分支管理,release/*是被保护的,除非是已经合并到master才会被删除.所以这个时候本地存在已经删除的releas/*分支. 此时会发现,怎么都删除不了这些保护分支.留着也没意思,该 ...