vs 2008 编译boost 1.35.0 and ICU

boost_1_35_0. Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。但Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。boost 在一些播放软件和音效中指增强,比如Bass Boost,低音增强。 立即下载

boost 1.35.0已经内置了1.34.1为让vs2008编译所需要修改的内容。所以不再需要手工修改。虽然boost 1.35.0文档中说目前不支持vs2008,以后会支持。但是经过一番折腾,发现实际上可以编译。

例如:

M:/CODE/VNN4/OUTER/boost_1_35_0>bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x86_9 — without-python –without-mpi –without-regex –toolset=msvc-9.0 –build-type=complete –prefix=m :/boost86 install

M:/CODE/VNN4/OUTER/boost_1_35_0>bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x64_9 — without-python –without-mpi –without-regex –toolset=msvc-9.0 –build-type=complete address-model=64 –prefix=m :/boost64 install

需要注意的是,build-type=complete很重要,否则没有debug版本,没法调试进入boost库。

尽量应该使用vc2008 start菜单中的Visual Studio 2008 Command Prompt来进行编译。64位版本则应该使用vs2008 start菜单中的Visual Studio 2008 x64 Win64 Command Prompt来进行编译。似乎普通cmd也可以,但是为保险起见,建议还是用vc菜单中的cmd。

注意1.35.0中regex库似乎有些问题,这个库如果不指定-sICU_PATH,则可以用build-type=complete,如果指定 -sICU_PATH,不指定build-type=complete也可以。x86和x64都没问题。但是如果同时指定-sICU_PATH和 –build-type=complete则会有问题。

M:/CODE/VNN4/OUTER/boost_1_35_0>bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x86_9 — without-python –without-mpi –toolset=msvc-9.0 –build-type=complete –prefix=m :/boost86 install warning: Graph library does not contain optional GraphML reader. note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the note: directories containing the Expat headers and libraries, respectively. Building Boost.Regex with Unicode/ICU support enabled Using ICU in m:/icu4c-3_8-src/icu_x86_9/include Skipping build of: ./install <build>no in common properties Skipping build of: ./install <build>no in common properties Skipping build of: ./install <build>no in common properties Skipping build of: ./install <build>no in common properties Skipping build of: libs/regex/build/icucore <build>no in common properties Skipping build of: libs/regex/build/icuin <build>no in common properties Skipping build of: libs/regex/build/icudata <build>no in common properties M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/kernel/class.jam:93: in new *** argument error * rule object(searched-lib-target)@54887.__init__ ( name : project : shared ? : search * : action ) * called with: ( icudt icuin icuuc : object(project-target)@158 : true : /m:/icu 4c-3_8-src/icu_x86_9/lib : object(null-action)@54886 : : : : ) * extra argument icuin M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/tools/builtin.jam:349:see definit ion of rule ‘__init__’ being called M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/tools/builtin.jam:592: in object( searched-lib-generator)@6.run M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/generators.jam:859: in try- one-generator-really M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/generators.jam:920: in try- one-generator M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/generators.jam:1131: in con struct-really M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/generators.jam:1204: in gen erators.construct M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/tools/builtin.jam:496: in object( lib-generator)@5.run M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/generators.jam:859: in try- one-generator-really M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/generators.jam:920: in try- one-generator M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/generators.jam:1131: in con struct-really M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/generators.jam:1204: in gen erators.construct M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/targets.jam:1368: in constr uct M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build/targets. M:/CODE/VNN4/OUTER/boost_1_35_0>

怀疑是因为icu库本身的sln和prj文件中并没有static link的选项。

最后采用如下方法解决:

如果是x64

bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x64_9 –with-regex –toolset-msvc address-model=64 release

bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x64_9 –with-regex –toolset-msvc address-model=64 debug

bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x64_9 –with-regex –toolset=msvc msvc/link=static address-model=64 debug

bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x64_9 –with-regex –toolset=msvc msvc/link=static address-model=64 release

如果是x86

bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x86_9 –with-regex –toolset-msvc  release

bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x86_9 –with-regex –toolset-msvc  debug

bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x86_9 –with-regex –toolset=msvc msvc/link=static debug

bjam -a -sICU_PATH=m:/icu4c-3_8-src/icu_x86_9 –with-regex –toolset=msvc msvc/link=static release

没有编译static link c++ runtime lib的static lib,只编译了动态link c++ runtime lib的dll以及static lib

注意编译完之后的dll,lib以及libxxx.lib拷贝到目录下时,要同时去掉1_35拷贝一份,因为boost头文件中通过prgram(link)进行的auto link指向的lib不包含1_35后缀

附注:

bjam还有其他一些选项,例如

bjam –toolset=msvc msvc/architecture=x86/address-model=64/runtime-link=shared/link=shared debug stage

 

icu库(VS2010编译的64位版本) ICU(International Component for Unicode/Unicode国际化组件) 是 Unicode 支持、软件国际化、全球化的一个成熟的、广泛应用的库,是一个由 IBM 赞助、支持和使用的,基于"IBM公共许可证",用于支持软件国际化的开源项目 QQ群:950984501 QQ群:133900153 立即下载

相关推荐

matlab kwave模拟超声换能器学习笔记

kwave模拟超声换能器的学习笔记,从零开始造车轮

SolvingMaster的博客 3198

Windows 下 VS2019 编译 icu 库

在 Windows 下利用 VisualStudio 编译 icu 库

逐天实验室 ( SCLB ) 2773

西门子S7-200 SMART 实战解析:滑动平均值滤波算法在模拟量信号处理中的应用

本文详细解析了在西门子S7-200 SMART PLC中实现滑动平均值滤波算法的实战应用。通过处理模拟量信号如温度、压力等,该算法有效抑制信号干扰,提升系统稳定性。文章涵盖算法原理、程序框架、信号采集及调试优化,为工业自动化工程师提供实用指南。

gitlab7runner的博客 1153

boost笔记1

今天看boost库,发现一个很有意思的东西, boost::program_options::options_description desc("Allowed Options"); desc.add_options() ("help", "Produce Help") ("compression", po::value&lt;int&gt;(), "Set compression Lev...

hyqryq的专栏 238

分享一个简单的迭代学习机器人双臂控制(MATLAB)

1 什么是迭代学习控制 迭代学习控制(iterative learning control,简称ILC)由Uchiyama于1978年首先提出,不过因为论文由日文撰写,影响不是很大。1984年,Arimoto等人用英文介绍了该方法。它是指不断重复一个同样轨迹的控制尝试,并以此修正控制律,以得到非常好的控制效果的控制方法。 迭代学习控制的特点是“在重复中学习”,通过反复的迭代修正,达到改善控制效果的目的。迭代学习控制的原理是根据系统前次运行所获得的输出误差信息,在控制过程中不断修正控制输入,随着迭代的进行,逐

weixin_45776027的博客 4483

grafana使用方法

1、点击仪表盘2、新建仪表盘3、选择数据源4、选择查询的条件5、美化。

2403_87359664的博客 323

Visual Studio 2013编译ICU4C 5.31

下载了ICU,支持vs2008,工程文件在 icu/source/allinone 下,不过默认编译出来的是动态链接版本,所以需要改造成静态的,那只有修改工程配置文件啦, 1.修改以下几个工程配置 Configuration Properties=>General=>Configuration Type,修改为Static library (.lib)   2.然后修改静态库的输

CruiseYoung的专栏 5018

​​10.3 时间敏感网络(TSN)协议适配​

本文探讨了时间敏感网络(TSN)协议在PCIe网络加速卡开发中的适配方案,重点分析了时间同步、流量调度和冗余传输三大核心问题。研究从协议实现、硬件加速设计和驱动优化三个维度展开,提出采用FPGA实现PTP时钟同步、动态TAS调度器以及双路径冗余传输等技术方案。通过工业控制网络案例验证,该方案将端到端延迟从120μs降至8μs,带宽利用率提升至92%,同时实现了100%的确定性保障。研究还总结了调试工具和典型问题解决方法,为TSN在PCIe网络中的实际应用提供了技术参考。

amy_mhd的博客 364

Windows 10 + MSYS2 + Mingw64编译ICU(International Components for Unicode)库

在Windows环境下,借助MSYS2以及Mingw64编译工具构建ICU

m0_75022297的博客 1905

C# & SQL Server 实时数据同步:7步轻松搞定,代码详解

实时数据同步是指在一个数据库中的数据发生变化时,能够立即或近乎立即地将这些变化同步到另一个数据库中。这种同步可以是单向的(从源数据库同步到目标数据库),也可以是双向的(两个数据库互相同步)。通过本文的详细讲解和代码示例,相信你已经学会了如何使用C#和SQL Server实现数据库的实时数据同步。实时数据同步不仅可以提升系统的响应速度,还能确保数据的一致性和准确性。希望这篇教程对你有所帮助,期待你在C#编程中取得更大的成就!🌟✨如果你有任何问题或建议,欢迎在评论区留言交流!

java专栏 514

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

天天酷科研的博客 1114

VS2008安装boost(手记)

1。转自http://blog.csdn.net/benjiamen/archive/2008/07/12/2643705.aspx   boost库2008年3月底发布了1.35.0版本,包括了12个新的库和若干对于新库的修正。请参见http://www.boost.org/users/news/version_1_35_0来获取详细的更新信息。 最大的喜讯就是提供了对于Vis

晴天的专栏 1104

【CicadaPlayer】av_rescale_q 学习:转换PTS和Duration

参考 av_rescale_q()理解 大神时间基准的总结: AVPacket下的pts和dts以AVStream->time_base为单位(数值比较大),时间间隔就是AVStream->time_base。 大神:多种转换的总结 av_rescale_q用于计算Packet的PTS 如: if (pkt->pts != AV_NOPTS_VALUE) { pkt->pts = av_rescale_q(pkt->pts, m

突围 842

vs 2008 编译boost 1.35.0

vs 2008 编译boost 1.35.0boost 1.35.0已经内置了1.34.1为让vs2008编译所需要修改的内容。所以不再需要手工修改。虽然boost 1.35.0文档中说目前不支持vs2008,以后会支持。但是经过一番折腾,发现实际上可以编译。例如:M:/CODE/VNN4/OUTER/boost_1_35_0>bjam -a -sICU_PATH=m:/icu

benjiamen的专栏 2898

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

boost 1.35.0 Visual Studio 2008编译指南

一。下载boost库2008年3月底发布了1.35.0版本,包括了12个新的库和若干对于新库的修正。请参见http://www.boost.org/users/news/version_1_35_0来获取详细的更新信息。 最大的喜讯就是提供了对于Visual Studio 2008编译器的支持(1.34也可以,但是需要手工修改)。 下载地址:http://www.b

benjiamen的专栏 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

vs2008安装boost库

vs2008安装boost库 2010年06月10日   首先我在晚上找到了很多的说明:我先一一罗列在下   ************************************************** ******************************* [b]一。下载 [/b]   boost库2008年3月底发布了1.35.0版本,包括了12个新的库和若干对...

hxix29hxix 213

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Boost库的编译

【二、Boost库的编译】 【Setp1 准备工作】: 1 Boost 下载可以到官方网站下载:http://www.boost.org/ 2 安装VS2008 IDE 【Setp2 编译Boost】 1.打开Visual Studio 2008 命令提示窗口

今夜雨 3129

在VS2005中配置boost库

<br />最简单的一种配置流程:<br /> 1. 下载boost,解压缩:可到www.boost.org中找,目前boost的最新版本为boost_1_35_0;假设将其解压至D:/boost/boost_1_35_0/目录中。<br />2. 查看D:/Boost/boost_1_35_0/libs/regex/build目录中应该存在一个vc8.mak文件,是用于build的配置文件。 <br />3. 打开系统的“开始/程序/Microsoft Visual Studio2005/Visual S

我的编程之旅 833
上一篇: 编译64位版本的boost
下一篇: 使用boost查找区分大小写查找,查找一个字符串在另外一个字符串的位置,返回索引。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值