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语言,一定绕不过指针这一大难关,而指针最让人头疼的就是各种指向关系,一阶的指针还比较容易掌握,但一旦阶数一高,就很容易理不清楚其中的指向关系,现在我将通过杨辉三角为例,我会用四种方法从内存的角度简 ...
随机推荐
- 10.static_extern
另一个文件声明 #include <iostream> using namespace std; ; void show() { cout << " << ...
- Eclipse Class Decompiler——Java反编译插件手工配置方法
最近在eclipse上配置了java反编译插件,但是不好用,原因是我的eclipse之前有手动配置过一些类似的java反编译插件,当我将原来的插件完全卸载后重新配置才正常配置上去,自动配置java反编 ...
- Hadoop ecosystem 生态圈
Cascading: hadoop上面的workflow Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行 ...
- iOS8: 企业开发的终结?
iOS 8 的公布(如今是 iOS8.1),并非对全部人来说都是值得高兴的事情. 对那些使用企业部署(不经过商店公布)的 app 开发人员来说,又被苹果坑到了. 由于 iOS 8 的一个Bug.导致企 ...
- (转) 25个必须记住的SSH命令
转自:http://www.cnblogs.com/weafer/archive/2011/06/10/2077852.html OpenSSH是SSH连接工具的免费版本.telnet,rlogin和 ...
- RMAN冷备份、一致性备份脚本
RMAN冷备份.一致性备份脚本 run{ shutdown immediate; startup mount; allocate channel c1 type disk; allocate chan ...
- GO语言学习(十)Go 语言条件语句
Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成. if...else 语句 if 语句 后可以使用可选的 else 语句, els ...
- Oracle 12CR2 中alert.log出现大量的 WARNING: too many parse errors 告警
Oracle 12CR2 中alert.log出现大量的 WARNING: too many parse errors 告警 日志如下: 2018-06-24T17:16:21.024586+08 ...
- 5、regulator系统的概念及测试
概念:Regulator : 电源芯片, 比如电压转换芯片Consumer : 消费者,使用电源的部件, Regulator是给Consumer供电的machine : 单板,上面焊接有Regulat ...
- 关于fatfs生成的wav文件是空,大小是0的问题
绝大多数是因为打开错误 调试的时候,编写程序的时候 要记得res=f_open() 要有返回值res的设置