boost编译教程

Boost库交叉编译全攻略:从Ubuntu到ARM平台的高效移植(含WebSocketPP集成示例) 本文详细介绍了如何在Ubuntu环境下对Boost库进行ARM平台的交叉编译,并集成WebSocketPP构建实时通信服务。通过环境准备、源码获取、交叉编译配置、编译安装实战等步骤,帮助开发者高效完成移植工作,特别针对ABI兼容性和性能优化提供了实用解决方案。 阅读详情

windows + visual studio

提前下载安装visual studio

下载安装openssl

https://slproweb.com/products/Win32OpenSSL.html
假设安装目录为: C:\openssl\OpenSSL3-Win64

编译安装zlib

git clone https://github.com/madler/zlib.git
cd zlib
git checkout v1.3.2
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:/Library -DBUILD_SHARED_LIBS=ON -S .
cmake --build build --config=Release -t install

下载boost1.86.0

git clone https://github.com/boostorg/boost.git --recursive
cd boost
git checkout boost-1.86.0
git submodule update --recursive

配置、编译

.\bootstrap.bat --without-libraries=python,graph,graph_parallel,mpi,predef
.\b2.exe variant=release link=static --prefix="C:/Library" -s OPENSSL_ROOT="C:/openssl/OpenSSL3-Win64" -s ZLIB_INCLUDE="C:/Library/include" -s ZLIB_LIBPATH="C:/Library/lib" --without-python --without-graph --without-graph_parallel --without-mpi --without-predef install

zynq cortex-a9 交叉编译

准备交叉编译工具链

# toolchain-zynq7000.cmake

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(TOOLCHAIN_DIR /opt/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf)

set(CMAKE_C_COMPILER   ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm-linux-gnueabihf-g++)


# find_library/find_package/find_path
set(CMAKE_FIND_ROOT_PATH /corsair-dev/zynq)

# find_program
set(CMAKE_PROGRAM_PATH /corsair-dev/host)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

# linker flags
set(CMAKE_EXE_LINKER_FLAGS "-L/corsair-dev/zynq/lib -Wl,-rpath,/usr/local/lib" CACHE STRING "Exe linker flags")
set(CMAKE_SHARED_LINKER_FLAGS "-L/corsair-dev/zynq/lib -Wl,-rpath,/usr/local/lib" CACHE STRING "Shared linker flags")
set(CMAKE_MODULE_LINKER_FLAGS "-L/corsair-dev/zynq/lib -Wl,-rpath,/usr/local/lib" CACHE STRING "Module linker flags")

# compiler flags
set(CMAKE_C_FLAGS "-march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard" CACHE STRING "C flags")
set(CMAKE_CXX_FLAGS "-march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard" CACHE STRING "C++ flags")

add_definitions(-D__STDC_CONSTANT_MACROS)

交叉编译zlib

tar -xf zlib-1.3.2.tar.gz
cd zlib-1.3.2
cmake -B build -G "Ninja" \
    -DCMAKE_TOOLCHAIN_FILE=$(pwd)/../toolchain_zynq7000.cmake \
-DCMAKE_INSTALL_PREFIX=/corsair-dev/zynq \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON -S .
cmake --build build -t install

交叉编译openssl

tar -xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./Configure linux-generic32 no-asm no-async \
    --prefix=/corsair-dev/zynq --release \
    --cross-compile-prefix=arm-linux-gnueabihf- shared
make
make install

交叉编译boost

tar -xf boost_1_84_0.tar.bz2
cd boost_1_84_0

# 配置
./bootstrap.sh --without-libraries=python,graph,graph_parallel,mpi \
    --prefix=/corsair-dev/zynq

# 编辑 project-config.jam 文件
# 工具链设置为对应的编译器
using gcc : arm : /opt/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ ;

# 编译安装
./b2 toolset=gcc-arm variant=release link=static \
    target-os=linux architecture=arm address-model=32 \
    abi=aapcs --without-python --without-graph \
    --without-graph_parallel --without-mpi \
    -s ZLIB_INCLUDE="/corsair-dev/zynq/include" \
    -s ZLIB_LIBPATH="/corsair-dev/zynq/lib" install
Linux下boost安装、测试教程 Boost是一个功能强大、开源、跨平台、免费的c++程序库,被业界称为“准”c++标准库,能让你的c++开发更加简单,下面就开始下载安装Boost吧。 1. 下载Boost 首先去官网下载安装Boost库,我的系统是Ubuntu15.04的,下载最新的库:boost_1_59_0.tar.gz。 解压安装包: tar -zxvf boost_1_59_0.tar.gz 所有的 阅读详情

相关推荐

VS2010 Boost编译安装

1.下载安装包boost 1_46_0 http://www.boost.org/users/news/version_1_46_0 选择下载 windows 或 unix 版本 2.解压缩到D:\boost 目录下 3.编译bjam (1)从vs2010的工具菜单进入命令提示窗口(单击“开始”按钮,指向“所有程序”,指向“Microsoft Visual Studio 2010

xd1103121507的专栏 824

boost库交叉编译(Linux生成ARM的库)

转自:https://www.cnblogs.com/findumars/p/7461244.html1. 环境:Linux系统:Ubuntu 14.04 编译工具:arm-fsl-linux-gnueabi-gcc2.下载boost源码:地址:https://sourceforge.net/projects/boost/files/boost/3. 编译:1)解压,cd 到目录--show-li...

xiaoxianerqq的专栏 5469

VS22 C++安装编译boost库

2、编译boost(1)下载解压完成后有个bootstrap.bat文件,双击执行,会生成一个b2.exe文件;不行的话进到cmd里面,然后进到这个目录下输入bootstrap.bat运行也可以:(2)第二步:双击b2.exe运行:等待程序编译完成,会在目录下生成bin.v2和stage两个文件夹,其中bin.v2下是生成的中间文件,大小在2.4G左右,可以直接删除。stage下才是生成的lib文件。(3)配置VS22环境。

m0_69115733的博客 879

PC机交叉编译ARM boost库

从官网下载所需版本的boost源代码,解压进入文件: ./bootstrap.sh 然后会自动产生一个project-config.jam文件,打开该文件,修改“using gcc”一行: using gcc : : arm-none-eabi-gcc; 注意:符号前后的空格 然后开始编译: ./bjam stage --layout=tagged --build

古月居 3660

C++ boost库教程(四):windows下编译boost库

前面介绍的一些boost库功能,都是boost的基础功能,boost还有很多功能需要编译后才能使用。例如Chrono, Context, FileSystem, Regex(正则表达式),Thread等。编译boost库很简单,步骤如下: (1)在cmd窗口下,cd到boost的目录,例如的目录如下: (2)执行批处理脚本 bootstrap.bat, 完成后会在当前目...

琅嬛福地 2607

Boost库线程池功能实践教程

在现代C++编程中,Boost库是一个不可忽视的资源宝库,它包含了大量的功能强大的库,可以在标准库的基础上提供额外的工具和功能。其中,Boost.Thread模块是Boost库的一个重要组成部分,主要负责提供多线程编程的抽象和实现。这些模块为开发者提供了丰富的API,使得多线程和线程池的开发变得更加简便和高效。线程池是多线程编程中一个重要的概念,它是事先创建若干个可执行的线程放入一个池中,需要时将任务提交给线程池,线程池将任务分配给空闲的线程执行。

weixin_31185473的博客 1326

boost教程(一):boost1.71在vs2015下的编译

vs 2015 编译boost1.71 第一步 官网下载boost1.71 https://www.boost.org/users/download/ 第二步 解压,解压之后没得bjam,只有b2.exe 第三步 在开始菜单找到 vs2015 x64本机工具命令提示符。 第四步 命令行进入解压后的boost库目录。 第五步 命令行运行 bootstrap.bat 第六步 运行b2.exet--toolset=msvc-14.0 --build-type=complete --stagedir="I:\cha

__2得很别致 803

安装keil5(MDK)及导入pack包教程

首先说明的是我安装的Keil版本为Keil V5.29.0.0 1、安装软件 右键管理员权限运行安装包 设置安装路径以及pack的存放路径 随意输入First Name和E-mail 安装驱动 完成软件安装,然后可以先关闭弹出的Pack Install(一会再添加) 2、激活一下软件 打开桌面的Keil File → License Management(我之前注册过了) 右...

hrx-@@ 10万+

VS2015编译使用Boost库遇到的问题及正确编译使用教程

VS2015+Boost1.79.0时出现的问题:boost库不兼容,需要降boost库版本了,下载1.73.0之前版本的boost库包均可。 VS2015+Boost1.69.0正确编译使用!

nanke_yh的博客 2122

如何设计一个低代码平台

近些年来,低代码发展火热,各种低代码平台如雨后春笋纷纷崛起,这些平台各定位不同,优劣不同,用户的选择空间很大。那么,如果用户想从零开始设计一个低代码平台,该如何做呢?

Jarod_Chou的博客 8259

Dia 使用说明

简述 在linux上面能找到dia这个工具还是挺幸运的,因为之前画流程图总是使用ubuntu默认的word工具 在里面画图,感觉流程图使用起来麻烦,并且视觉效果真的不好看。 自从使用Dia后,感觉至少画起来流程图会变得越来越标准了。但是Dia也存在问题,就是使用的文档很少,使用中遇到为后,查起来比较费劲,但是至少问题不是很多,所以使用中遇到的几点问题我就记下来,和大家分享,加快大家的开发和文档整理能力。 我会按照遇到的问题来说,不存在使用的先后顺序。 1. Dia 去掉背景中的线条 首先去点那个大一点的蓝色

linan101的博客 4926

Boost库-Windows环境编译-CLion中使用教程

C++boost库的使用

weixin_44190670的博客 6868

【RT-DETR多模态融合改进】| 自研 多模态大核选择模块:MM_LSK,适配多模态图像信息融合

本文记录的利用改进的多模态大核选择模块(MM-LSK)优化RT-DETR,构建可见光-红外双模态目标检测网络。在遥感等大尺寸图像的可见光-红外双模态小目标检测任务中,单模态检测易受光照、云雾、背景干扰等因素影响,且小目标外观信息匮乏,无法仅基于单模态外观实现较好的识别,因此需要融合双模态互补特性与广泛的跨模态上下文信息进行辅助。

Limiiiing的博客 382

boost+soci+sqlite3编译教程

准备boost库 1)、在boost官网(https://www.boost.org/)下载最新boost源码。 2)、解压源码zip文件,执行其中的bat文件,得到b2.exe。 3)、使用vs命令行工具cd进源码根目录(用管理员权限运行)。 4)、执行以下命令(可以同时启用4个cmd窗口): b2installstage--toolset=msvc-14.0--sta...

dqsjqian的博客 1871

【FDTD】仿真目录(共计 16 篇)

对于完美吸收型边界条件,有时候我们需要设置将仿真结构穿过边界条件区域,具体原因可以阅读下文。在进行 S 参数扫描时,当考虑到材料的色散特性时,我们可以如下文一样选择计算群延迟。仿真,我们需要构建仿真结构与仿真区域,对于它们的尺寸,应该遵循下文进行设定。中存在多种不同的网格类型,具体可以参考下文,这部分内容仅作了解即可。尺寸的设置问题,对于 mesh 的最小尺寸,可以参考下文。的边界条件设置也十分重要,下文中我们对边界条件进行总结。仿真中我们可以设定参与仿真的模式数量,可以参考下文。尺寸的实例,详见下文。

u011699626的博客 504

《ESP32单片机基础入门》第2章:开发环境搭建

【代码】《ESP32单片机基础入门》第2章:开发环境搭建。

2301_79143213的博客 582

在Linux下引入C++ Boost库:下载、编译、安装、使用详细教程

在Linux下引入C++ Boost库:下载、编译、安装、使用详细教程

深耕嵌入式领用多年, 致力于分享嵌入式领域技术! 9374

视觉Transformer实战 | 将卷积引入视觉Transformer(CvT)

CvT 是一种融合卷积神经网络与 Vision Transformer 优势的视觉模型,旨在解决 ViT 缺乏平移不变性和局部性等归纳偏置的问题。CvT 采用分层结构逐级降采样,使用卷积词元嵌入代替传统 patch 切分,引入卷积投影替代线性投影。这些设计使得 CvT 能够去除位置编码,在高分辨率输入下表现更优。本节深入解析 CvT 的核心原理,并提供完整的 PyTorch 代码实现,演示如何在实际数据集上训练和评估 CvT 模型。

盼小辉丶的博客 726

Boost.Hana教程:从运行时到编译时的异构数据处理

Boost.Hana教程:从运行时到编译时的异构数据处理 Boost.Hana是一个现代C++元编程库,它提供了处理异构数据结构和类型计算的强大工具。本文将通过一个示例程序,逐步讲解如何使用Boost.Hana处理不同类型的数据,并比较运行时与编译时处理方式的差异。 运行时数据处理 在传统C++编程中,我们通常处理同质容器(如std::vector)中的数据: auto f = [](int i)...

gitblog_00903的博客 421

西门子SMART PLC增量式PID(完整梯形图FC)

西门子PLC自带的PID指令是基于位置型的PID,位置型PID的算法公式和详细介绍,大家可以参看《PID专栏》的其它文章,这里不再赘述。本篇博文直接给出代码部分的讲解,不设计太多公式和理论的推导。限于本人能力,文中难免出现错误和不足之处,诚恳欢迎大家的批评和指正。同时感谢大家的订阅和关注。SMART200 PLC系统自带的PID指令解析,可以参看下面这篇文章:SMART PLC PID算法基本解析(附公式)_RXXW_Dor的博客-优快云博客_plc的pid算法在态运行中,控制器调节输出值,使偏差 (e

RXXW_Dor的博客 8148

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何编译BOOST

先给出英文的编译帮助,有什么不明白的或者我没说清楚的请查阅并确认。www.boost.org/more/getting_started.html或者你的boost的安装路径下的more/getting_started.html这里以1.33.1为例。1.下载boost包,并解压到某个文件夹下。这里用为方面起见$boost_dir代替,在说明路径的地方如果出现了$boost_dir请用实际的

vrix的专栏 3225

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Boost C++库完整编译指南:CMake与B2构建系统终极教程 [特殊字符]

Boost C++库作为业界广泛使用的开源库集合,为C++开发提供了丰富的高质量组件。想要充分利用Boost的强大功能,首先需要掌握其编译与构建方法。本文将详细介绍使用CMake和B2两种主流构建系统来编译Boost库的完整流程。 ## 为什么需要编译Boost? 🤔 Boost库包含超过150个独立的库模块,其中大部分是**仅头文件库**,可以直接包含使用。但有一些核心库如**Boost.

gitblog_00773的博客 745

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Boost.Build 简明教程

Boost.Build简明教程(译) Written by Boris Schäling. 历史: 2018-12-20 姚彧 第一版 目录 介绍 Introduction 生成过程 Build process 基本任务 Basic tasks 项目管理 Project management 最佳实践 Best practices 规则参考 Rule refer...

weixin_30911809的博客 1549

boost裁剪和编译

winddows:bjam --show-libraries 查询所有的模块1、运行bootstrap.bat编译bjam。2、bjam.exe ./tools/bcp3、在bin.v2/tools/bcp/目录下可以找到 bcp.exe。这就是我们所需要的程序了。假设我们允许程序员用A、B、C、D这样四个模块,那么可以这样:bcp --boost:<boost-root-directory...

imilli的博客 2507

编译boost到各个系统平台 mac,iOS,linux,android,wind

编译boost到各个系统平台 mac,iOS,linux,android,wind git地址:https://github.com/czjone/boost git仓库:https://github.com/czjone/boost.git 详情看read.me 包含编译教程 TODO:windows版本还未编译 转载于:https://www.cnblogs.com/czjone/p/...

weixin_30297281的博客 94

openSUSE下交叉编译boost库

(所有操作在root下) 1.环境 交叉编译工具:arm-linux-4.4.4(4.4.4_09.06.2010) 编译平台:Linux version 3.16.6-2-desktop 开发板:ARM, EABI5 version 1 (SYSV) boost版本:boost_1_59_0(http://sourceforge.net/projects/boost/files/boost/1.

dream_hunter 1354
上一篇: stm32mpu docker开发环境搭建记录
zhypss
博客等级 码龄7年 19粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值