Boost_1_33_1沒有想像中的恐怖 (李维)
2006/11/16 下午 02:14:16
原則上要先使用build.bat, 產生bjam.exe, 再編繹出library. 由於各編譯器不同, lib並無法共用!
編譯完成後:
*.lib在 C:\Boost\Lin
*.hpp在 C:\Boost\include
VC++2005 && Dev-C++4.9.9.2 可以共用 include files!
BCB2006(or TC++2006) 必須獨立使用 include files!
需要在編譯器加入lib & include的 path, 使用Dev-C++要更費心將使用到的*.lib加入=>不然邊不出來!
********* boost 1.33.1 for VC++2005 *********
(1) 解壓 boost-build-2.0-m11.zip
>build.bat
(in \jam_src) to create bjam.exe(in \jam_src\bin.ntx86)
(2) 執行 boost_1_33_1.exe(create C++ source files in \boost_1_33_1)
copy bjam.exe to \boost_1_33_1 and run it
>bjam "-sTOOLS=vc-8_0" install
(3) 執行完後編譯的lib檔和include檔會被安裝到C:\Boost\目錄下
********* boost 1.33.1 for Dev-C++4.9.9.2 *********
(假設dev-cpp的安裝路徑為c:\Dev-Cpp\,由於Dev-cpp使用的其實
是mingw的編譯器,因此編譯boost時選擇的toolset也就是mingw)
(1)下載boost_1_33_1.exe,將其解壓到D:\CppLib\boost_1_33_1\目錄下,
這裏面都是源碼,需要編譯成庫。下載boost-build-2.0-m11.zip, 將其解壓到D:\CppLib\boost-build\目錄下。
(2)編譯Boost.Jam,這是Boost的編譯工具,也需要從源碼編譯。
進入dos環境:
D:\CppLib\boost-build\jam_src\
設置環境變數和路徑:
>set BOOST_JAM_TOOLSET_ROOT=c:\dev-cpp\
>set path=%BOOST_JAM_TOOLSET_ROOT%bin;%path%
執行:***
>build.bat mingw
成功執行後生成執行檔:
D:\CppLib\boost-build\jam_src\bin.ntx86\bjam.exe
新生成的bjam.exe就在這個目錄下,將其拷貝到D:\CppLib\boost_1_33_1\目錄下。
(3)編譯boost源碼
進入D:\CppLib\boost_1_33_1\目錄,
執行編譯:
>bjam "-sTOOLS=mingw" "-sMINGW_ROOT_DIRECTORY=C:\Dev-Cpp" install
(4) 執行完後編譯的lib檔和include檔會被安裝到C:\Boost\目錄下
(5) Dev-C++4.9.9.2 的設定中, 要直接加上 link *.lib, 用到的每個都要加!!!
2006/11/16 下午 02:14:54
********* boost 1.33.1 for BCB2006 *********
(0) 解壓 bcbboost-1_33_1-5_8_2-0.5.zip(比0.4新), 蓋過原來 boost_1_33_1 檔案, 專為BCB2006的更新!
* 先將VC7, VC8的路徑改名稱, 如此才不會直接抓到VC++版本, 切記, 切記:
Microsoft Visual Studio 8 => Microsoft Visual Studio 8_pause
Microsoft Visual Studio .NET 2003 => Microsoft Visual Studio .NET 2003_pause
編譯OK再改回來! Ken Hsu , 20061115
測試用的是Turbo C++ 2006免費版!請先去borland註冊,他會傳一個檔給你, 放在正確的位置就可以
正常install!
(1) Borland 李維 7月6日
整合BDS 2006/C++Builder 2006 和Boost 1.33.x
最近我在準備一些有關C++Builder的東西,需要使用到Boost,剛好也有一些朋友詢問我如何在
BDS 2006/C++Builder 2006中使用Boost架框。於是我花了一些時間整合BDS 2006/C++Builder 2006
和最新的Boost 1.33.x版,以便讓我能夠在BDS 2006/C++Builder 2006中使用Boost。在這裡我整理
出來讓需要使用的朋友參考一下。
要整合BDS 2006/C++Builder 2006和最新的Boost 1.33.x版,您需要進行下面的步驟:
�� 取得Boost 1.33.x並且解開到一個目錄,在本篇文章中假設您是解開在D:\Boost133的目錄中 :
這兒我假設您已經知道怎麼做了,取得BCB 2006 for Boost的Patch,您可以在SourceForge上找到
或是在這下載 http://liwei.csdn.net/down/bcbboost-1_33_1-5_8_2-0.4.zip
解開這檔案並且取代Boost 1.33.x版中的內容
�� 取得或是自己Build bjam.exe。您也可以在這裡下載它 :
http://liwei.csdn.net/down/boost-jam-3.1.13-1-ntx86.zip
把Bjam.exe解開到一個目錄並且把這個目錄加入到您的Path之中
�� 到 CD到D:\Boost133,並且執行下面的命令
set BCCROOT=您的BDS 2006/C++Builder 2006的安裝目錄,例如
>set BCCROOT=D:\Program Files\Borland\BDS\4.0
>bjam "-sTOOLS=borland-5_8_2" install
接著耐心的等待C++Builder 2006的編譯器Build Boost的函式庫,結束之後會在D:\Boost133\bin\boost目錄之中產生靜態和動態連結函式庫。
現在就可以使用Boost函式庫,例如我先把所有Build出來的靜態函式庫拷貝到e:\seminars\bcb2006ex\boost_1_33_1\allbins目錄下(不用,會在c:\boost\lib下面),接著建立一個Console Application專案,撰寫一個Boost範例如下:
啟動Console Application專案的Options對話盒,在Include search path中加入您的boost目錄,例如D:\Boost133:
再把Boost函式庫的目錄加入到Library search path中:
最後編譯此專案,然後就可以在DOS命令列中執行了,例如下面就是我執行Boost函式庫中範例的結果:
很簡單吧,Have fun,have a good BDS 2006/Boost day!
(3) 執行完後編譯的lib檔和include檔會被安裝到C:\Boost\目錄下(有許多模組編譯不出來,可能要等到boost1.34.0才會解決)
(4)由於其中檔名中皆有 "bcb58", BCB2006認不出來, 請下載改名軟體將"bcb58"=>改為"bcb"就可以正常使用.
(5)有些模組仍有問題, 如serialization, 可能要等到boost1.34.0才會解決.
http://www.programmer-club.com.tw/showSameTitleN/c/33560.html
Boost_1_33_1沒有想像中的恐怖 (李维)的更多相关文章
- C++重写new和delete,比想像中困难
关于C++内存管理这话题,永远都不过时.在我刚出道的时候,就已经在考虑怎么检测内存泄漏(https://www.cnblogs.com/coding-my-life/p/3985164.html).想 ...
- 李维作答 《insideVCL》——李维实在很勤奋,而且勇于突破,从不以旧的内容充数
(编者按)<Inside VCL(VCL核心架构剖析)>一书出版以来,众多热心读者给李维先生.博文视点公司.CSDN写来信件,有更多朋友在各个论坛上发表关于该书的言论.读者们不但盛赞该书, ...
- 李维对VCL理解的几个错误
研读深入浅出VCL一书的时候,有不少地方被网友提出疑问,而且似乎是网友们正确.但这丝毫不动摇李维在大中华Delphi界的江湖地位,因为高手应该是对整个系统理解的高手,而不是对某一个疑问的高手.能花巨量 ...
- 地图四叉树一般用在GIS中,在游戏寻路中2D游戏中一般用2维数组就够了
地图四叉树一般用在GIS中,在游戏寻路中2D游戏中一般用2维数组就够了 四叉树对于区域查询,效率比较高. 原理图
- C语言中如何将二维数组作为函数的参数传递
今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不 ...
- IT公司100题-35- 求一个矩阵中最大的二维矩阵(元素和最大)
问题描述: 求一个矩阵中最大的二维矩阵(元素和最大).如: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 中最大的是: 4 5 9 10 分析: 2*2子数组的最大和.遍历求和,时 ...
- php中count获取多维数组长度的方法
转自:http://www.jb51.net/article/57021.htm 本文实例讲述了php中count获取多维数组长度的实现方法.分享给大家供大家参考.具体分析如下: 先来看看下面程序运行 ...
- php中向前台js中传送一个二维数组
在php中向前台js中传送一个二维数组,并在前台js接收获取其中值的全过程方法: (1),方法说明:现在后台将数组发送到前台 echo json_encode($result); 然后再在js页面中的 ...
- 以杨辉三角为例,从内存角度简单分析C语言中的动态二维数组
学C语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用四种方法从内存的角度简 ...
随机推荐
- select into from 与 insert into select 区别
1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Tab ...
- ajax获取服务器响应信息
window.onload = function(){ document.getElementById('btn').onclick = function(){ var req = new XMLHt ...
- POJ 1166 The Clocks 高斯消元 + exgcd(纯属瞎搞)
依据题意可构造出方程组.方程组的每一个方程格式均为:C1*x1 + C2*x2 + ...... + C9*x9 = sum + 4*ki; 高斯消元构造上三角矩阵,以最后一个一行为例: C*x9 = ...
- php课程 11-37 类和对象的关系是什么
php课程 11-37 类和对象的关系是什么 一.总结 一句话总结:类生成对象,对象是类的实例化,一定是先有类,后有对象,一定是先有标准,再有个体. 1.oop的三大优势是什么? 重用性,灵活性.扩展 ...
- input选中 和 select点击下拉选择获取选中选项的值
1.input选中$('#checkBox').find('input').each(function(i){ if($(this).prop('checked')){//获取是否选中 并判断 $(t ...
- 安装配置Rancher管理docker
原文:安装配置Rancher管理docker 版权声明:本文为博主原创文章,转载请注明地址http://blog.csdn.net/tianyaleixiaowu. https://blog.csdn ...
- Php无限层级并显示层级数
今天在处理递归无限层级菜单时,遇到一个稍微烧脑的问题,如何显示当前节点所在的层级数.废话不多说,我们先看个直观的无限层级: <?php // 这里的arr是直接从数据库取出的,仅作为测试数据 $ ...
- C语言深度剖析-----数组与指针分析
数组的本质: 指针的运算: 小标VS指针: a和&a的区别: 例: 数组参数: 所以下例返回4 指针和数组的对比小结:
- 基于element ui的图片预览插件
写插件很简单,满足两个条件即可,一.基本的逻辑思路,二.熟悉插件语法要求.本次Vue插件也比较简单,点击“查看图片”用轮播的方式限制用户上传的图片,如图: 项目采用的是vue-element-admi ...
- python课程:python3的输入输出
输出函数用法 (话说python3的输出好像没有python2的灵活了) print('hello,world') #单引号和双引号都可以输出print("hello,world&quo ...