我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统是怎样编译boost

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux系统是怎样编译boost

本篇文章为大家展示了Linux系统是怎样编译boost,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

boost库是一个可移植、提供源代码的c++库,作为标准库的后备,是c++标准化进程的开发引擎之一。

Boost简介:

  • boost库是一个可移植、提供源代码的c++库,作为标准库的后备,是c++标准化进程的开发引擎之一。

  • boost库由c++标准委员会库工作组成员发起,其中有些内容有望成为下一代c++标准库内容。 在c++社区中影响甚大,是不折不扣的“准”标准库。

  • boost由于其对跨平台的强调,对标准c++的强调,与编写平台无关。

Linux系统编译Boost具体方法:

Boost的编译使用的不是已经成为公认标准的make,而是专门为Boost开发的工具bjam(boost jam)**。

1.  ./bootstrap.sh  生成bjam

2.  ./bjam –with-filesystem –layout=tagged variant=release link=static threading=single stage 执行的创建命令(不用全部编译)

\3.   ./bjam install 安装

获取boost库

Linux下官方提供了两个压缩版本:boost_1_43_0.tar.bz2boost_1_43_0.tar.gz

找到其中一个Unix/Linux包的直接下载地址,然后输入下列命令

sudo wget http://downloads.sourceforge.net/project/boost/boost/1.43.0/boost_1_43_0.tar.gz?use_mirror=cdnetworks-kr-1

解压tar -zxvf boost_1.43.0.tar.gz

进入解压目录cd boost_1_43_0

编译安装

使用下面的命令创建boost自己的编译工具bjam(目的是保证Boost在任何平台上都能用bjam编译),类似于GNU Make。./bootstrap.sh –prefix=/home/usrname/boost_1_43_0/boost_install

boost将被安装到/boost_install目录下,不知名prefix将默认安装到/usr/local/include和/usr/local/lib下。

建议先查看下帮助文档,了解些默认选项,命令为./bjam –help

.bjam命令的格式为:bjam [options] [properties] [targets]

常用选项(Options)和属性(Properties)的说明,一般带有–前缀的关键词为option,没有的则为property。

–show-libraries显示需要编译才能使用的库列表

–build-type=minimal|complete–build-type=minimal为默认值,此时在Linux下只编译生成release版的动态链接C运行库(C++标准库)的多线程静态库和动态库。–build-type=complete,在Unix/linux下要编译多个变体(debug或release,多线程或单线程,静态库或动态库,静态链接或动态链接C运行库/C++标准库)。不建议全部编译,费时还费空间,提倡按需编译。

–layout=versioned|tagged|system决定需要编译的库名及头文件的地址目录名的生成策略。默认Windows下–layout=versioned,Linux下–layout=system。当同时编译多个版本时,最好设置–layout=versioned或–layout=tagged,否则编译多半会失败,原因是有的版本同时编译若不指定命名策略,可能在输出到指定目录的时候造成命名冲突。注:–build-type=complete时,不需要设置此属性。但指定variant=debug,release等属性时,须确保–layout=versioned或–layout=tagged。

–build-dir=DIR指定存放编译过程中生成的中间文件,目标文件等其他文件的目录,默认在./bin.v2。

–with-创建和安装指定的库–without-不对指定的库进行创建和安装,默认创建所有的库

安装:关键词 install 或 stage./bjam installinstall会安装头文件和库文件到相应指定目录,头文件安装到/usr/local/include下,库文件安装到/usr/local/lib下。具体指定安装目录见./bjam –help。./bjam stagestage说起来只能说是收集生成的库文件到一个目录下,通常默认就在./stage下。

注:install 和 stage 貌似不能同时使用,中间会卡住。若编译过程中未指定install或stage,则生成的目标库文件只存在于–build-dir所指的目录中,默认为./bin.v2。考虑到此,若无需将头文件和库文件安装,则推荐使用stage关键字。

下面是属性:toolset=toolset指定编译器,默认自动检测,安装了多个编译器的时候可以使用此属性。variant=debug|release指定编译debug或release版本。link=static|shared指定创建静态库或动态库runtime-link=static|shared指定创建的库是静态链接还是动态链接到C运行库(或C++标准库),这个选项需依据–link的类型,不同的编译器允许的链接策略不一样,比如在GCC下,在生成动态库(–link=shared)时,就不允许进行静态链接到C运行库(或C++标准库)。threading=single|multi指定创建多线程或单线程的版本库。

属性可同时设置,如下两种方式,为了避免名字冲突,建议采取propery=value的格式:./bjam variant=debug,release stage或./bjam variant=debug variant=release这两种方式都可以。

*最后执行的创建命令:*./bjam –with-filesystem –layout=tagged variant=release link=static threading=single stage

*安装*

# ./bjam install

将生成的库默认安装到/urs/local/lib目录。

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

上述内容就是Linux系统是怎样编译boost,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux系统是怎样编译boost

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统是怎样编译boost

本篇文章为大家展示了Linux系统是怎样编译boost,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。boost库是一个可移植、提供源代码的c++库,作为标准库的后备,是c++标准化进程的开发引擎之一
2023-06-28

Linux系统怎么编译Boost库

这篇文章的内容主要围绕Linux系统怎么编译Boost库进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!Boost库简介:Boost库是为C++语言标
2023-06-28

Linux系统中如何编译boost

今天给大家介绍一下Linux系统中如何编译boost。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。Linux平台Boost的编译方法Boost就是Boost库
2023-06-28

Linux系统怎样编译ko文件

这篇文章的内容主要围绕Linux系统怎样编译ko文件进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!ko文件是内核模块文件,是内核加载的某个模块,一般
2023-06-28

C++win系统如何用MinGW编译Boost库

这篇文章主要介绍了C++win系统如何用MinGW编译Boost库问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-15

CentOS 5编译编译基本类系统软件是怎样的

这篇文章将为大家详细讲解有关CentOS 5编译编译基本类系统软件是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CentOS社区不断与其他的同类社区合并,使CentOS Linux逐
2023-06-16

CentOS OpenCV怎样在LINUX系统中编译安装

CentOS OpenCV怎样在LINUX系统中编译安装,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如何在Linux下編譯CentOS OpenCV? (OS
2023-06-16

linux系统的编译命令怎么用

本篇内容介绍了“linux系统的编译命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!linux系统的编译命令是“Make”。在lin
2023-07-04

linux系统make编译器怎么安装

在Linux系统中,安装make编译器通常需要安装GNU Make软件包。以下是在不同的Linux发行版上安装make编译器的方法:在Debian/Ubuntu系统上,可以使用以下命令安装make编译器:sudo apt-get updat
linux系统make编译器怎么安装
2024-04-03

Linux系统编译运行文件

Linux系统编译运行文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Linux系统编译运行文件1.安装编辑器使用语句:sudo apt-get install vim安
2023-06-28

CentOS LEMP系统安装编译安装基本环境是怎样的

CentOS LEMP系统安装编译安装基本环境是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。CentOS LEMP构建高性能WEB服务器(第三版).一、
2023-06-16

Linux系统中如何编译安装PHP

这篇文章主要介绍了Linux系统中如何编译安装PHP的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux系统中如何编译安装PHP文章都会有所收获,下面我们一起来看看吧。安装编译环境在编译和安装PHP之前,首
2023-07-05

Linux系统交叉编译的具体方法是什么

Linux系统交叉编译的具体方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。所谓的交叉编译就是在一个平台上生成另一个平台上的可执行代码,在不同的操作系统运行同一个体
2023-06-28

linux系统make编译器如何安装

在Linux系统中,安装make编译器可以通过包管理器进行安装。如果你使用的是Debian或者Ubuntu等基于Debian的系统,可以使用以下命令来安装make:```sudo apt-get updatesudo apt-get ins
2023-09-21

CentOS安装mono配置系统相关编译器的过程是怎样的

这篇文章给大家介绍CentOS安装mono配置系统相关编译器的过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。对大家推荐很好使用的CentOS安装系统,像让大家对CentOS安装系统有所了解,然后对CentO
2023-06-16

CentOS emesene使用系统然后怎样进行编译安装

本篇文章给大家分享的是有关CentOS emesene使用系统然后怎样进行编译安装,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。CentOS emesene使用经过长时间的发展
2023-06-16

Linux系统架构是怎么样的

这篇文章主要介绍了Linux系统架构是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我以下图为基础,说明Linux的架构(architecture)。最内层是硬件,最
2023-06-13

编程热搜

目录