C_and_CPP 板


LINE

boost 这个 lib 应该很多人用吧,但是版上都没个完整的编译安装心得 所以我把自己在 windows 上安装 n 次的心得 po 上来给大家参考一下 1.首先从官网下载 boost 的原始码和 bjam 的 binary 把 boost 解开到某资料夹,如 d:\boost_1_36 再把 bjam 的执行档也解到同一个资料夹下 2.进到 d:\boost_1_36 的资料夹下,用记事本打开Jamroot档 (Jamroot 好像是用 Python 写的?? 前面一半是 bjam 的说明) 在里面找到一段这样子的片段: local default-build,complete = debug release <threading>single <threading>multi <link>shared <link>static <runtime-link>shared <runtime-link>static 这一段就是 bjam --build-type=xxx的内容,依你需要的新增一个 像我平常不想用到 debug(多了debug多了1~2g的容量) 而且我想要 static-link,不想用 dll,所以我改成如下: local default-build,mybuild = release <threading>multi <link>static (这边注意,有版胞发现 , 和 mybuild 之间不能有空白) (否则会导致失效,而编出 debug shard library) (这部分感谢 zxvc 和 ycjcsie 发现的问题) 这一段是自由发挥的,你想要编啥东西出来就改一改 不然就是直接用他 complete 的设定 这里我没发现到,有另一个地方也要改,感谢 zxvc 大大的提醒 ========================================================== 在同一个档案中,在刚刚那一段的上面,有这麽一段: if ! ( $(build-type) in minimal complete ) { build-type = minimal ; } 在 complete 後面,再加上自己设定的 build-type,变成 if ! ( $(build-type) in minimal complete mybuild ) 这样 bjam 才会使用这个 build-type,( mybuild 後需要有空白) 实在是万分感谢 zxvc 大大。 ========================================================== 3.接下来,用命令提示字元,来到 d:\boost_1_36 下面 可以先执行 bjam --show-libraries 看有哪些 lib 是需要 compile 的 (如果你不用那些 lib,那你可以直接离开这篇文章了 =.=) 4.再来,决定你要安装的目录,和使用的 compiler 像我是要安装到 d:\boost,我的 compiler 是 mingw (如果你不想用安装,也是可以的,就是少了 copy include 目录) 5.再来就交给 bjam 了,例如:我只要 regex 和 system 这两个 lib 要安装的这样子下: bjam --prefix=d:\boost --build-type=mybuild --toolset=gcc --with-regex --with-system install 不要安装的就这样子下: bjam --build-type=mybuild --toolset=gcc --with-regex --with-system stage 然後等他 compile 完,安装的人就到 d:\boost 去找档案 用 stage 的人,就在 d:\boost_1_36\stage 是你要的 lib 6.最後,就是看你要不要复制 include 和 lib 到 mingw 的目录下了 这部分对 lib 很熟的大大,应该都知道要怎麽搞了 7.附注:因为我不喜欢 boost 编出来是 .lib 和 .dll,而且很多个 这样我要 link 的时候要打很长一串,加上我是个懒人 所以我就发现 .o 都在 d:\boost_1_36\bin.v2 里面 还很贴心的把各种版本都分别放在不同的资料夹下面 於是我就到里面去,然後我要的是 release 的 static-link 所以我进到最深层的目录下,把我要的所有 lib 的 obj档都复制出来 他的目录是长这样: ..\bin.v2\libs\<lib名>\build\<toolset>\<debug or release>\ <link-static or not>\<single or multi thread>\*.o 我把 copy 出来的 .o 都放在一个资料夹下,然後到那个资料夹 下这行: ar -q libboost.a *.o 我要的 .a 就产生了,接下来就是把它丢到 mingw\lib 下 然後再把 d:\boost_1_36 的 boost 丢到 mingw\include 这样我以後只要 -lboost 就ok了,再也不用打那长一串了 (不过只适用我这样子的懒人) 8.细节我没有说的很清楚,最好是看一下 bjam --help 的说明 感谢各位耐心看完,有错请不吝指正,谢谢。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.225.3.13
1F:推 avhacker:环境设定新增一个 lib path,link 时就会自动找到了 09/11 12:14
2F:→ avhacker:跟本不需要手动输入 lib 档名 09/11 12:14
3F:推 kekeo:楼上,不行喔,我试过。推原po。 09/11 12:45
4F:→ ycjcsie:我之前没编译也可以用耶 09/11 13:10
5F:推 legnaleurc:部分lib需要编,部分不用 09/11 13:13
6F:→ ewn:我的意思是说-lboos_xxx_mtxx.lib可以变成-lboost 09/11 13:32
7F:推 avhacker:喔,忘了说,我用的是 VC, 不需要指定 lib 档 09/11 17:08
8F:推 ctrlbreak:推一个. 我之前都用懒人包 XD 09/11 23:20
※ 编辑: ewn 来自: 125.225.20.93 (09/13 19:31) ※ 编辑: ewn 来自: 125.225.16.70 (09/15 12:29)
9F:推 zlw:刚发现boost_1_39_0.7z解压缩後,根目录有个bootstrap.bat 06/23 12:48
10F:→ zlw:直接执行这个档,就会把bjam.exe编译好,并且移动到根目录,并 06/23 12:49
11F:→ zlw:提供一些初步建议。如果非Windows应该是跑bootstrap.sh。这样 06/23 12:50
12F:→ zlw:做会比原本跑到..\tools\jam\src\里执行build.bat来编译bjam 06/23 12:51
13F:→ zlw:速度快,而且build.bat也不会帮你把bjam.exe移动到根目录。 06/23 12:51
14F:推 zlw:目前if ! ( $(build-type) in minimal complete )似乎已经改成 06/23 14:18
15F:→ zlw:可以设定成minimal complete两者之一,不然就不要设定,若设定 06/23 14:19
16F:→ zlw:了不在里面的build-type,则会结束bjam不进行build工作。 06/23 14:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP