Boost総合スレ part10

2012/09/14(金) 17:34:29.08
過去スレ
Part 9http://toro.2ch.net/test/read.cgi/tech/1275014987/
Part 8 http://pc12.2ch.net/test/read.cgi/tech/1251446016/
part 7 http://pc12.2ch.net/test/read.cgi/tech/1232367742/
part 6 http://pc11.2ch.net/test/read.cgi/tech/1207749841/
part 5 http://pc11.2ch.net/test/read.cgi/tech/1192662575/
part 4 http://pc11.2ch.net/test/read.cgi/tech/1175663346/
part 3 http://pc11.2ch.net/test/read.cgi/tech/1158991211/
part 2 http://pc8.2ch.net/test/read.cgi/tech/1139313234/
part 1 http://pc8.2ch.net/test/read.cgi/tech/1091198276/

■関連サイト■
Boost C++ Libraries
http://www.boost.org/

Boost 翻訳プロジェクト
http://boost.cppll.jp/HEAD/

Let's Boost
http://www.kmonos.net/alang/boost/

boost info
http://shinh.skr.jp/boost/
2013/05/25(土) 00:53:43.69
boostの一番スゲー機能ってなに
2013/05/25(土) 02:25:23.89
ここまで的を得ない質問をするとは
ひょっとしておぬし馬鹿だな
2013/05/25(土) 05:08:51.69
的を射る
正鵠を得る
的を(射て正鵠を)得る
2013/05/25(土) 08:51:28.35
BOOST_MSVCとか
2013/05/31(金) 11:21:30.34
>>110
thread lexical_cast あたりは毎日使うな
2013/06/14(金) 04:17:29.54
過疎りすぎだろ
2013/06/14(金) 10:09:19.01
話すこと無いからな
質問が多そうなBoost初心者は専スレでなく一般のC++スレのほうで質問するだろうし
2013/06/14(金) 10:55:32.03
Linuxの386サポート打ち切りなんて話があったが、boostでも386のサポートがなくなるな
2013/06/19(水) 20:42:40.75
ぼくは586なので余裕です^^v
2013/07/04(木) NY:AN:NY.AN
boostの新しいの出たけど、winのコンパイル済みのものを配布なんてしているところなおのか?
自分でコンパイルなんてハードル高すぎ
2013/07/04(木) NY:AN:NY.AN
そんなこともできない奴にはまだ必要ないよ
2013/07/04(木) NY:AN:NY.AN
そもそも実装がヘッダしかないのもあるから仕方ない
2013/07/04(木) NY:AN:NY.AN
俺はもうcppを自分のプロジェクトに入れちゃってるわ
123デフォルトの名無しさん
垢版 |
2013/07/10(水) NY:AN:NY.AN
こないだ追加されたTypeErasureってどうなの?
試した人いる?
2013/07/10(水) NY:AN:NY.AN
ようするにany,variantの超強化型なんで強力だぞ
そのぶん複雑なことをやろうとすると下準備のややこしさと面倒くささが増すが
2013/07/13(土) NY:AN:NY.AN
geometryの実装の凄さはわかるんだが、使いこなせてるやついる?
2013/08/14(水) NY:AN:NY.AN
boostは使われていないから、過疎っているな
2013/08/14(水) NY:AN:NY.AN
C++11が出てからboostはニッチツールになって来たな
まあ面白いからこのまま続けてくれ
2013/08/14(水) NY:AN:NY.AN
いや、今度はC++14の機能が使えるんだから重宝するでしょ
2013/08/22(木) NY:AN:NY.AN
C++は黄忠
2013/08/22(木) NY:AN:NY.AN
三国志の黄忠?その心は?
2013/08/23(金) NY:AN:NY.AN
老兵
強い
諸葛亮が扱わないと猪突猛進してコロッと死ぬ
2013/09/02(月) 23:44:35.22
boostはソースコード見て勉強するためのもの
実際には使わんよ
2013/09/02(月) 23:47:23.77
optionalとかserializeとかlexical_castとか使えないと不便だ
2013/09/03(火) 03:51:47.69
>>132
そういうことはもっと早く言ってよ!
2013/09/11(水) 19:37:59.70
optional<T&>って気になってたんだけど、optional_ref<T>として
使えるようにするかもしれない、みたいな話は結局どうなったんだろ?
2013/09/14(土) 06:53:18.13
これをやるには先ずこれを済ませとかないと……でもこれはこれとこれとこれが済んでないと……
えーとつまり発端は……なんて連鎖を取り扱うライブラリありますか?
Makeみたいな
2013/09/14(土) 08:16:39.93
普通にプログラム書けばそんな感じになるだろ
138デフォルトの名無しさん
垢版 |
2013/09/14(土) 09:51:46.81
trac
2013/09/20(金) 15:51:26.84
>>137
Systemdみたいに並列にやりたいのでは
140136
垢版 |
2013/09/21(土) 03:59:04.31
なんでもないです忘れてください捜さないでください
2013/09/21(土) 12:11:45.90
>>136
state machineやcontextで出来ないかな?
2013/10/04(金) 20:13:47.29
話題は?
2013/10/15(火) 03:55:17.76
管理者権限のPCでも
自分のホームディレクトリの下にLinuxのパッケージシステム作るのあったよね
apt-getとかemerge とかが動くやつ
あれだと自動で依存関係を解決してくれるね
2013/10/17(木) 00:44:09.84
>>143
>管理者権限のないPCでも
>自分のホームディレクトリの下にLinuxのパッケージシステム作る

これの名前忘れてしまって検索しようがないのだけど
誰か知りませんか?
2013/10/17(木) 09:04:48.53
cygwin
msys
mingw
bow
colinux
andlinux
2013/10/28(月) 01:08:25.00
boost::iostreamsの自作フィルタとか需要あるのかね。
147デフォルトの名無しさん
垢版 |
2014/01/04(土) 22:34:52.14
使ってますかぁ
148デフォルトの名無しさん
垢版 |
2014/01/16(木) 22:33:38.03
最近、githubに以降したんだけれど、
今のところ公式から落としてくるのには、
各リポジトリのすべてをクローンしなきゃいけないの?
ライブラリ単位でリポジトリが分散したせいでやりづらくなっているんだが
2014/01/16(木) 22:38:47.63
HEADだけ取れるだろ
2014/01/17(金) 00:47:20.36
>>148
https://svn.boost.org/trac/boost/wiki/TryModBoost#InstallingModularBoost
> git clone --recursive git@github.com:boostorg/boost.git modular-boost >clone.log
> ...
151デフォルトの名無しさん
垢版 |
2014/01/17(金) 08:45:45.19
先生!
大変です。size_t が居なくなりました。
gcc を 4.5 -> 4.8 にアップグレードしたところ、size_t が脱走しました。
いや、boost のインストール時なのかもしらん。

オーソドックスな対策と
その原因に関する解説ページを教えていただけませんでしょうか?

現在必要なソースのヘッダごとに
#ifndef _SIZE_T
#define _SIZE_T
typedef __SIZE_TYPE__ size_t;
#endif

と対策していますが、どー考えても対策としてはタコです。

boost/pending/cstddef.hpp も怪しいが、単純なgccの問題かもとも思っています。


宜しくお願いいたします。
152デフォルトの名無しさん
垢版 |
2014/01/17(金) 08:49:56.58
std::size_t
153デフォルトの名無しさん
垢版 |
2014/01/17(金) 09:32:38.42
>>152
ありがとうございます。

どこに定義すればよいのでしょうか?
また、この原因はboostでしょうか?
2014/01/17(金) 09:41:52.32
#include <cstddef>
2014/01/18(土) 03:22:07.38
>>150
thx
SSHがめんどいのでHTTPSで落としたよ
156片山博文MZ無能 ◆T6xkBnTXz7B0
垢版 |
2014/02/23(日) 00:53:10.90
大変便利であるからしてage。
157片山博文MZ無能 ◆T6xkBnTXz7B0
垢版 |
2014/02/23(日) 01:10:11.61
【Boostのここがスゴい1】
ほとんどのライブラリがリンクなしで(#includeするだけで)使える。※但しインスコが必要
【Boostのここがスゴい2】
C++11以前の古いコンパイラでもboost::shared_ptrなどのスマートポインタが使える。
158片山博文MZ無能 ◆T6xkBnTXz7B0
垢版 |
2014/02/23(日) 01:16:42.42
【Boostのここがスゴい3】
Boost.multiprecisionで手軽に多倍長演算(非常に桁数の大きい演算)ができる。
【Boostのここがスゴい4】
古いコンパイラでもマルチプラットフォームでマルチスレッド対応が可能。
2014/02/23(日) 01:27:59.03
……こんな感じで宣伝頼む
2014/02/23(日) 02:04:51.86
【Boostのここがヒドい1】
バイナリがでかくなる
【Boostのここがヒドい2】
コンパイルエラーがいみふ
2014/02/23(日) 02:33:44.40
awkは、2^200を計算できないのですが、
bcコマンドは出来ます

Pythonは、2の1万乗、つまり3千桁も計算できる
Rubyは、2の千乗、つまり300桁も計算できる
2014/02/23(日) 03:05:21.75
【Boostのここがヒドい3】
boostインストールしたらboostフォルダだけで2GB超える
2014/02/23(日) 05:02:10.89
必要なライブラリだけビルドしろよ
164片山博文MZ無能 ◆T6xkBnTXz7B0
垢版 |
2014/02/23(日) 12:29:25.59
MiniBoost
https://dl.dropboxusercontent.com/u/72753355/miniboost_setup.exe

Boostを49.5 MBに圧縮!!! USBメモリに保存できる!!!
2014/02/23(日) 12:53:27.18
>>162
ネタだと言ってくれ・・・
2014/02/23(日) 13:09:57.18
Boostつかうと一気に実行ファイルサイズが10倍に?!
2014/02/23(日) 15:22:51.97
>>165
色んなオプションでコンパイルできるから…全パターンのコンパイルしたら結構でかいんじゃね?
流石に試したことはないけど…
2014/02/23(日) 15:31:39.81
>>163
自分で使う気が無くても
このライブラリをつかうにはboostを使ってね♪ってのがあるだろ
boost感染と呼ぶべきか
2014/02/23(日) 15:47:45.36
1.56.0まだかよ
2014/02/23(日) 15:49:02.43
>>164
ウィルス?
2014/02/24(月) 02:02:22.57
>>168
それを言うならboost汚染ではあるまいか…
2014/02/24(月) 10:55:40.25
contaminated population
2014/02/25(火) 02:05:03.94
>>163
車輪の再発明を避けることを徹底すると必要なライブラリがどんどん膨らんでいくよ
便利そうだからと安易にライブラリに追加してると、便利そうだからと安易に利用することになって
依存関係が発生してしまう
2014/02/25(火) 02:27:52.42
そんなことは必要なライブラリが膨らんでから考える
いちいちzlibなりboost::serializeなり自作してられっか
2014/02/25(火) 07:43:30.82
>>174
>>173はboost自体の話。
いちいち必要なライブラリだけビルドするのは面倒だし、依存関係で枝葉のライブラリしか
削れないなら全部ビルドした方がましって感じ。

exeだとDLL版でもいいんだけど、プラグインdllだとexeと同じパスに置かれないことも多いし
32/64bitの区別の問題とかもあって暗黙的なDLLロードに期待できないんだよね。
だからboostのバイナリをDLして使うより手間がかかるからboost自体を巨大化されるのは困る。
2014/02/25(火) 08:06:45.55
ttps://sites.google.com/site/boostjp/tips/build_link
依存がどうしたって?
2014/03/10(月) 14:38:05.36
VC11だと、bootstrappingが必要か。。。
時間がかかりそうだな。。。
178デフォルトの名無しさん
垢版 |
2014/05/06(火) 15:21:54.64ID:DynE4XBA
 
2014/06/08(日) 10:51:05.92ID:j31/DBL2
数年ぶりに戻って来たんだけど、今はLets Boostみたいな日本語で解説してるサイトは無いの?
付属のdocだと情報量が多すぎて疲れる・・・
2014/06/08(日) 13:13:45.71ID:1X5GviKQ
頑張って英語読もう
コードもついてるしそんな難しくないだろう
2014/06/08(日) 13:29:42.85ID:AzMImLSv
boostなくても標準C++で間に合うようになって来てる
2014/06/13(金) 14:51:21.47ID:UdQiVjj6
逆にまだboostじゃないとダメな機能ってどんなのがあるんだろう?
2014/06/13(金) 15:05:29.84ID:LHr3GtlM
property_treeとかserializeとか
2014/06/13(金) 16:38:51.85ID:ooUx6NQl
format ってどうなった?
2014/06/20(金) 01:10:34.79ID:Lg1rjNq/
boost使い始めたのはgregorianのためだったっけな一番最初は
その後scoped_arrayとかも使い始めた
2014/06/22(日) 22:12:29.06ID:16+BG254
怒らずにマジレスしてほしいんだけど progress_display に代わるものってあるの?
2014/06/24(火) 02:24:02.69ID:tub1q0dy
stdoutでいいんじゃね?
188デフォルトの名無しさん
垢版 |
2014/08/08(金) 10:09:29.41ID:bvhG3beM
Version 1.56.0
August 7th, 2014 16:08 GMT
2014/08/11(月) 14:29:54.99ID:jlzj25iu
Boost初心者です。
http://qiita.com/softgate/items/75f123f01ccdee6d36d0
を参考に
 boost 1_56_0
を以下のようにビルドしたのですが
 b2 toolset=msvc threading=multi variant=debug,release link=static runtime-link=static address-model=32 --stagedir=stage/x86 -j 8
 b2 toolset=msvc threading=multi variant=debug,release link=shared runtime-link=shared address-model=32 --stagedir=stage/x86 -j 8
 b2 toolset=msvc threading=multi variant=debug,release link=static runtime-link=static address-model=64 --stagedir=stage/x64 -j 8
 b2 toolset=msvc threading=multi variant=debug,release link=shared runtime-link=shared address-model=64 --stagedir=stage/x64 -j 8

このBoostを使ったVS2013プロジェクトで

 error LNK1104: ファイル 'libboost_thread-vc120-mt-1_56.lib' を開くことができません。

が出て解消できません。thread関係は、以下のファイルがあります。

 stage\x86\lib\libboost_thread-vc120-mt-s-1_56.lib
 stage\x86\lib\libboost_thread-vc120-mt-sgd-1_56.lib

 stage\x64\lib\libboost_thread-vc120-mt-s-1_56.lib
 stage\x64\lib\libboost_thread-vc120-mt-sgd-1_56.lib

エラーメッセージで指摘されているファイル
 libboost_thread-vc120-mt-1_56.lib  
もビルドするには、どうすればよいでしょうか?
2014/08/12(火) 01:45:55.26ID:O5xDEFJj
あてずっぽだけどmt-sってlink=staticなb2の生成物だと思うから
link=sharedのときの生成物をよく探せばいいんでないの
2014/08/12(火) 02:15:08.53ID:oYrFzOtb
link=static runtime-link=shared
がないからじゃね
2014/08/12(火) 12:56:31.79ID:oLoknUBV
>>190,191
レス有難うございました。
その通りでした。
link=static runtime-link=static
link=shared runtime-link=shared
以外に、
link=static runtime-link=shared
link=shared runtime-link=static
もビルドしたら解決しました。
2014/08/13(水) 11:16:20.84ID:aA3WCwQl
copy して rename だけで良かったんじゃないかという気はする
2014/08/16(土) 00:19:18.57ID:datmhcQU
それじゃだめなんよ
libcとdll混在でえらいことなる
コンパイラオプションでstatic版、dll版どっちリンクするか決定してるから
2014/08/22(金) 20:53:28.55ID:GZiwALqE
ええっと、WindowsのDLLの仕様上、
link=sharedとruntime-link=staticの組み合わせは基本マズイはず。
.exe側と .dllが 別々に __FILE__ 構造体を保持したりして、
それを狙っている場合はいいが知らずにstatic変数のポインタを
やり取りするとクラッシュすると聞いた。
その逆も同様だと思った。
2014/08/23(土) 02:33:52.06ID:830xsgTR
テンプレの関連書籍買おうと思うんだけど
内容はどんな感じなの?
Boostのホームページに書いてる以上のこと書いてる?
あとテンプレ貼られてから2年経つけど2年の間に新しく関連書籍出た?
2014/08/23(土) 04:37:08.56ID:ZWPa2xFI
>>195
一番まずいのはHeap破壊
libcのmallocで確保したポインタをmsvcrt.dllのfree呼び出す、あるいはその逆するとHeapがおかしくなる
2014/08/24(日) 01:03:29.49ID:z6SsqQq7
>>195,197
憶測で語るのはそこまで。不具合が実在するなら公式tracにバグ報告して貢献したほうがいい。
2014/08/24(日) 01:06:01.45ID:dSaHZUjz
不具合というか仕様だろ
知らんと嵌るが
2014/08/24(日) 01:57:11.06ID:z6SsqQq7
>>199
確かに >>197 のHeap破壊の件はboostと関係ないね。失礼。
exe側の標準ライブラリリンク方法を変えて対処すべきことを、側聞だけで基本マズいとか断言する >>195 みたいなの困るわ。
2014/08/24(日) 17:02:34.37ID:zFKb4A2a
いや、exe側のリンク方法を変えてもポインタを渡したらアウト、対処できない。
exeの作成者側が仕様を理解していれば、それで動作させることも可能だが、
一般的にそんな用途はない。
ライブラリのバージョンの特殊なテストとか普通にはない状況。
2014/08/24(日) 17:12:05.16ID:mYuQxuS2
結局>>193はやっちゃだめってこと
2014/08/24(日) 21:50:12.26ID:zFKb4A2a
ついでに
逆にlink=staticとruntime-link=sharedの場合だと、
利用者が常に一つの.exeを作る場合には良いが
利用者も.dllを書いて、そちら側からもboostを利用する場合、
同様の問題が発生するので×

そうすると一般用途にビルドを行う場合
link=static runtime=static
link=shared runtime=shared
この2つのパターンだけ用意すれば良いと思われる
2014/08/25(月) 18:17:09.07ID:K+Y1EV40
(´-`).oO (なんでboostとC標準のリンクオプションがわざわざ別々になってると思う?)
2014/08/25(月) 18:52:52.89ID:34Z9Wbr7
正直link=とruntime-link=のそれぞれの意味がわかってないけど、
とりあえずlink=staticのしか使ったことない。
runtime-linkのほうはMSVCのコード生成設定に合わせるけど。
2014/08/25(月) 19:50:29.57ID:TLgrT9xd
>>204
解説よろしくお願いします。
2014/08/25(月) 20:13:31.67ID:S+r49QAC
Express版の2010だとEula.txtが付属してないので、
/MDだと著作権的にグレーになってしまう。
/MTでコンパイルしないと公開できないw
2014/08/25(月) 20:33:49.53ID:34Z9Wbr7
ていうかMSVCで普通にプロジェクト作って普通にインクルード&ビルドしたら
link=staticで作成されたファイル名のほうしか読みにいかなくない?
マルチスレッドDLLでもマルチスレッドでもdebugでもreleaseでも。
2014/08/25(月) 20:35:42.94ID:34Z9Wbr7
208はexeを作ったときの話。dllについては知らない。
2014/08/25(月) 21:07:00.41ID:S+r49QAC
BOOST_ALL_DYN_LINKを定義しないと, libboost_の方にリンクする。
定義するとboost_の方へリンクしてDLLを使用するようになる。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況