windows下使用gcc编译boost库

windows环境cmake引用boost库 Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。 阅读详情
 windows下使用gcc编译boost库 收藏 
在进行之前,首先需要准备的当然是下载boost库的合适版本,下载安装gcc for windows,这些直接google,这里只简单记录编译时的步骤,防止遗忘之用。

虽然我只是一很菜很菜的菜鸟,可是却非常迷恋gcc+gdb+vim的组合,就算现在的VC如何强大如何方便,在进行一些只使用标准库和win sdk的编程时大部分时候还是在gvim里进行的。

首先需要得到bjam,将下载下来的boost库文件解压到一个文件夹里(假设其路径为###/boost),则在###/boost /tools/jam/src文件夹下可看到一个批处理文件build.bat,如果直接双击运行的话它会自动检测系统中存在的编译器并选择一个进行编译,我这里装有vc6.0,vc7.1,gcc4.5.0,结果发现缺省使用的是vc的较高版本即vc7.1。我们的目的是使用gcc编译,这时就需要给批处理指定参数,如在控制台执行:

###/boost/tools/src> build.bat gcc

即可指定使用gcc。

完成这一步后同级目录下会生成一个名为bin.ntx86的文件夹,里面就有我们需要的bjam.exe。我想得到的是一个完整编译的版,这时将bjam.exe拷贝到###/boost/目录下。这时就可以使用它来对整个库进行编译了。boost中有很多库是直接包含头文件即可使用的,而像 regex和thread等则需要编译后才行。bjam.exe有比较多的可选执行参数,可以使用bjam –help来查看。最常用和有用的一些解释如下:

–toolset=<编译器> //指定编译工具 
–prefix=<库文件存放路径> //指定库文件存放路径,等同stagedir 
–build-type=complete //指定是否生成完全编译版本 
–with- //只编译指定库 
–without- //不编译指定库 
variant=debug|release //生成debug or release版本 
link=static|shared //决定使用静态库还是共享库 
threading=single|multi //决定生成单线程还是多线程库 
runtime-link=static|shared //是静态还是共享方式链接标准库 
我这里想生成的是完全版本,所以启用了–build-type=complete版本,事实证明不太有这个必要,complete版本将上述的 single|multi和static|shared及debug|release在那里都排列组合了一番,生成的库文件就达1GB到2GB,而里面有很多版本对我们平时的使用来说是不常用到的,按自己的使用需要指定版本来编译比较好。我这里使用的bjam命令行是:

###/boost> bjam install –toolset=gcc –prefix=”c:\boost” –build-type=complete –without-python

接下来是漫长的等待时间……按我这个命令行参数在我的机子上编译了足足3个小时(当然,一部分是配置比较烂的后果),一部《2012》看完了都没编完。

终于编译完成之后可以看到c:\boost文件夹下有include和lib两个文件夹,.lib和.dll文件在lib下,而头文件则放在 include文件夹下面。当我们使用的时候需要为gcc指定包含c:\boost\include\boost-1_40头文件目录和c:\boost \lib库文件目录。至于如何包含——到现在为止我除了知道每次在编译时指定外还真没找到什么方法来为gcc指定包含路径的方法。

就以编译asio的chat为例,如编译chat_server的命令行为:

g++ -D_WIN32_WINNT -Ic:\boost\include\boos-1_40chat_server.cpp -Lc:\boost\lib -llibboost-thread-mingw450-mt-1_40 -llibboost-thread-mingw450-mt-1_40 -lws2_32 -o chat_server.exe

gcc命令行里面-I表示包含目录,-L表示包含库文件目录,-l表示链接哪个库。system和thread库是程序中明确用到过的,如果不 -l添加它们,那就会报一堆可能含thread和system字眼的错误出来。而ws2_32则是因为调用了winsock的相关东东,需要链接此库,有关它的内容可以移步ws2_32



Anylogic试用版密匙 #$%99dTMbLIj+hm/c9fn0suWlfQjdK9FzRH8oSbR Rbm3FEeONkF5mDLKHxhscEDBANDg4BSU2Oi6hErk TH/KzwiCtsM0jfD50uRsj60+gi9ifTlduwcpSr6a GtVSilXwF997xTVAoMLddqOzGQAbnSjBiJOBdm1Z 0QwwIEJynvYgckLfoEADzncIgNnJjYshWcmGh3s9 gTgyuQPlRBeTXfb+ZJPI1JGi4sAUljwdB53Df+AX SEf5FaIbih 阅读详情

相关推荐

告别Godot默认编辑器:手把手教你用VSCode配置C#开发环境(附中文注释避坑指南)

本文详细介绍了如何将VSCode配置为Godot引擎的C#开发环境,提升游戏开发效率。从环境准备、扩展配置到解决中文编码问题,提供完整的避坑指南和高级调试技巧,帮助开发者充分利用VSCode的智能补全和调试功能,打造高效工作流。

weixin_30596023的博客 189

用MinGW编译boost的方法

最近下载了boost源代码,想在Code::Blocks里面用。C::B配置的配置的编译器是TDM-MinGW-4.7.1,打算用这个版本的gcc来编译boost。 看了boost的文档,说是首先运行bootstrap.bat,参数为gcc,然后运行b2.exe即可。可是在运行b2.exe时,总是提示找不到ml.exe。最后虽然也能完成编译,可是总是缺少一些库。 我就纳闷,这个ml.exe明明

kingfox的专栏 1645

从Transformer到Mamba:显著性检测领域的计算效率革命(Samba框架深度解析)

本文深入解析了Samba框架在显著性目标检测(Salient Object Detection)领域的创新应用,通过结合Mamba架构的优势,实现了计算效率的革命性提升。Samba框架采用显著性引导的Mamba模块(SGMB)和上下文感知上采样(CAU),有效解决了传统CNN和Transformer的局限性,同时在RGB-D等多模态任务中展现出卓越性能。

mmm90的博客 557

windows如何编译各种版本boost库

boost库名称分析,生成各种版本boost库

CHNIM的博客 1877

例题讲解拉格朗日乘子法、线性可分支持向量机(SVM)的推导

支持向量机(Support Vector Machine, SVM)的简单推导及例题

zzzssszzzzsz的博客 5683

金融科技创新中人工智能的应用:8篇优质论文精选(含2023)

随着科技的飞速发展,金融领域正经历着前所未有的变革。在这个过程中,人工智能技术发挥着越来越重要的作用。为了深入探讨金融人工智能的研究和应用,享享特地整理了几篇金融人工智能方面的论文,大家可以看一下金融人工智能方向最新的研究成果!面向金融领域的大型语言模型本文介绍了BloombergGPT,一个基于广泛金融数据训练的500亿参数模型。基于彭博(Bloomberg)广泛数据来源,建立了一个基于彭博数据的3630亿令牌数据集,并结合了额外3450亿通用数据令牌。

2401_82426425的博客 3212

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

C++boost库的使用

weixin_44190670的博客 6869

SqlSugar避坑指南:C#操作MySQL时你可能会忽略的5个细节

本文分享了使用C#和SqlSugar框架操作MySQL数据库时的实战避坑指南。针对连接配置、实体映射、查询性能、事务处理等关键环节,深入剖析了5个容易被忽略但至关重要的细节,帮助开发者提升项目稳定性和执行效率,避免常见陷阱。

delta的博客 276

windows 编译C++ boost库(超详细)

主要介绍如何在windows平台编译C++ 准标准库 boost的详细过程

余识- 1万+

Windows C语言编程:Beep API实现蜂鸣器原理与实战

如果你在 Windows 上写过 C 语言程序,想给程序加个简单的提示音,第一个想到的可能是 printf("\a") 。这个转义字符确实能在某些终端里发出“嘀”的一声,但它太原始、太不可控了,而且很多时候根本没声音。那么,有没有一种更“Windows”、更可控、更专业的方法来让你的程序“说话”呢? 答案是肯定的,而且它比你想象的要强大和复杂。Windows 提供了一个名为 Beep 的 API 函数,专门用于生成蜂鸣声。你可能觉得这功能太简单,甚至有点过时——不就是让电脑“哔”一声吗?但恰恰是这个看似简单

weixin_34109408的博客 395

PyTorch 面试题及详细答案120题(54-70)-- 模型训练与评估

本文介绍了PyTorch模型训练的基本流程和核心概念。主要内容包括: 模型训练基本流程:通过代码示例展示了数据准备、模型定义、损失函数和优化器选择、训练循环(前向传播、反向传播、参数更新)的完整过程,并包含验证集评估的实现。 训练过程中的关键概念: Epoch:完整遍历一次训练集 Batch:将数据分成小批次 Iteration:一个Batch的参数更新过程 三者关系:1 Epoch = N/B Batch = N/B Iteration(N为样本数,B为batch_size) PyTorch数据加载机制:

大剑师兰特的GIS世界 489

C++ Boost 库 Windows 环境 GCC 编译安装及 CMake 相关配置

Boost 在 Windows 操作系统上编译安装默认使用 Visual Studio 的 MSVC 编译器, 由于笔者个人比较习惯使用 CLion 作为 C++ 的集成开发环境并使用 GCC 编译代码, 因此本文主要是的记录与说明, 同时最后也记录了如何以编写调用 Boost 库的代码.

LostUnravel的博客 6189

DSP开发环境及工具之CCS

CCS( Code Composer Studio)是美国德州仪器(TI)公司的嵌入式处理器的开发环境,可以用于TI公司的各个系列处理器的软件开发和调试,如DSP,MCU,ARM等。CMD的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件。从其名称可以看出,该文件的作用是指明如何链接程序的。编辑完C语言设置,添加cmd文件之后,然后检查编译配置选项。主要的操作都是在这个窗口之间做相应的切换。

小柚子的博客 4311

在Windows系统上使用MinGW-GCC编译Boost库并在VSCode中引用Boost库进行C++开发

本文介绍了在Windows系统下使用MinGW-GCC编译Boost库并集成到VSCode中的方法。主要内容包括:1)从Boost官网下载最新版本源码并解压;2)通过bootstrap.bat生成b2构建工具;3)使用b2工具编译Boost库,详细解析了install和stage两种编译目标的区别及相关路径配置选项;4)说明如何将编译好的Boost库在VSCode项目中引用。文章面向已配置好VSCode和MinGW环境的开发者,提供了完整的Boost库编译和开发环境搭建指南。

weixin_60586322的博客 2923

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

boost 库在windows 系统下,gcc编译器编译

我下载了boost库,按百度搜索的编译方法,好像不行。         耐心看boost的说明 进行编译,通过了。     大部分的boost不需要编译,只要引入头相应文件即可,只有少部分库需要编译。    1.下载boost库 http:// www.boost.or  下下载  boost_1_53_0.7z 文件,解压,其根目录下有一个 index.htm 文件,有关于编译的详细说明。

cibiren2011的专栏 4971

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Windows平台MinGW GCC编译并使用C++ Boost

Windows平台MinGW GCC编译并使用C++ Boost 文章目录Windows平台MinGW GCC编译并使用C++ Boost前提编译Boost为动态链接库使用编译的Boost动态链接库编译Boost为静态链接库使用Boost静态链接库 前提 操作系统:Windows 10,安装了MinGW,并将gcc.exe等程序添加到Path变量中。 在下载好的Boost目录中运行booststr...

semicloud的专栏 1092

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Boost库在CodeBlocks环境下的编译

作者:朱金灿来源:http://blog.youkuaiyun.com/clever101        Boost库就不多做介绍了。我的编译环境为:Win 7家庭普通版,CodeBlocks10.05,编译器为mingw32gcc。全部编译boost库需要6个g的磁盘空间。 1.      测试你的gcc编译环境。 请确保Mingw工具链目录添加到系统的环境变量PATH中,比如我路径为:"C:\Progra

clever101的专栏 9468

BOOST库移植到arm平台

在Windows下的Linux子系统上进行开发,GCC版本:gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0。移植这个BOOST库是为了移植VSOMEIP,并且是项目上使用的。--build-dir:指定中间编译产物的路径(在编译过程中会生成一些临时文件)流程大概是这样了,如果没报错的话,会在当前目录下生成文件夹:target/arm。--prefix:指定生成物(包括库和头文件)的路径。,将里面的交叉编译工具换成自己项目上的。本文下载的是Linux版本的,

WYHJWDNGF的博客 1550

TDM-GCC编译Boost库时的错误

最近总是被一些莫名其妙的小问题困扰,深切的体会到了何为“阎王好斗,小鬼难缠”。 因为研究Codeblocks这个开源IDE,在编译源码时候,发现其中部分插件引用了Boost库,于是乎就想把Boost库编译一下。 我的编译器是TDM-GCC5.1.0,用了有一段时间了,早些时候为了跳出微软的圈儿...

chunnao0541的博客 946

[c++ boost][基础篇-1]-windows下编译boost库

[c++ boost][基础篇-1]-windows下编译boost库1.介绍2.源码下载3.使用MSVC编译3.1编译示例3.2 命名规则3.3 默认编译3.2 静态编译4.使用gcc编译5.使用arm编译6.使用mingw编译 1.介绍 强大的C++库,包含了各种编程所需的工具 2.源码下载 3.使用MSVC编译 # 命令行执行 bootstrap.bat 一会儿时间后就会生成编译的所需的b2.exe或者bjam.exe两个都一样的 然后执行查看编译参数 b2 --help # 下面只展示关键参数 #

qq_37268614的博客 752

Boost库boost_1_77_0版本 + Windows环境 + Gcc编译 + Vscode部署

Boost库boost_1_77_0版本 + Windows环境 + Gcc编译 + Vscode部署 1.gcc编译器安装: 选择cywin64,主要是下载方便,cygwin下载https://www.cygwin.com/ 安装教程参照:https://blog.youkuaiyun.com/u010356768/article/details/90756742 cywin64主要是一个下载器,需要自己安装gdb,gcc,make,mingw64-gcc-core,mingw64-g++,binuntils,cm

lyang0303的专栏 3506

Boost+codeblocks编译和编程

作者:朱金灿 来源:http://blog.youkuaiyun.com/clever101          Boost库就不多做介绍了。我的编译环境为:Win 7家庭普通版,CodeBlocks10.05,编译器为mingw32gcc。全部编译boost库需要6个g的磁盘空间。   1.      测试你的gcc编译环境。   请确保Mingw工具链目录添加到系统

likun_tech的专栏 978

Windows下minGW编译boost库

下载boost安装包; 设置mingw的bin的环境变量; 进入boost的目录,运行bootstrap.bat gcc ,需要等待一会儿运行结束,生成b2.exe和bjam.exe --prefix=<PREFIX> 编译后安装路径,默认C:\Boost --build-type=<type> 编译类型,可选minimal(最小)、complete(完整),默认m...

yangops的博客 745
上一篇: GDB调试精粹及使用实例
下一篇: 在Ubuntu14.04上快速部署OpenStack
龍城狂霸拽爺
博客等级 码龄16年 10粉丝 101原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值