Boost総合スレ part10

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
2デフォルトの名無しさん:2012/09/14(金) 17:35:28.29
■関連書籍■
Boost C++をチューンアップする最先端ライブラリ
http://www.amazon.co.jp/exec/obidos/ASIN/4894714191/

Boost C++ Libraryプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4798017043/

Beyond The C++ Standard Library
http://www.amazon.co.jp/exec/obidos/ASIN/0321133544/

C++ Template Metaprogramming
http://www.amazon.co.jp/exec/obidos/ASIN/0321227255/

The Boost Graph Library
http://www.amazon.co.jp/exec/obidos/ASIN/0201729148/

■関連スレ■
C++相談室 part98
http://toro.2ch.net/test/read.cgi/tech/1345823164/

C++11/C++1y 15
http://toro.2ch.net/test/read.cgi/tech/1333433900/
3デフォルトの名無しさん:2012/09/14(金) 17:35:55.06
4デフォルトの名無しさん:2012/09/14(金) 17:36:45.88
http://www.boost.org/

1.51.0が出てるのにさっさと次スレ立てろカス
5デフォルトの名無しさん:2012/09/14(金) 23:25:24.25
>>1
乙。
6デフォルトの名無しさん:2012/09/15(土) 00:42:09.54
>>1
乙。
7デフォルトの名無しさん:2012/09/15(土) 09:10:20.20
で、1.51.0の目玉はなに?
8デフォルトの名無しさん:2012/09/15(土) 23:06:54.27
>>7
http://www.boost.org/users/history/version_1_51_0.html

自分で見ろや
バグ取りと、C++11への部分対応だ
Chrome使ってるんなら翻訳でだいたい分かる
9デフォルトの名無しさん:2012/09/18(火) 18:33:24.94
とりあえずsandboxスレ使ってからにしようと思ってたけどたったか
10デフォルトの名無しさん:2012/09/21(金) 18:40:36.12
BoostはC++11の登場によって必要性が薄れたとは言え
時期バージョンのネタを提供する場として生き残るだろう
特にC++11の新機能を使った物が書かれると予想
11デフォルトの名無しさん:2012/09/25(火) 00:00:27.77
C++をこれ以上複雑な変態言語にしないで
12デフォルトの名無しさん:2012/09/25(火) 02:46:00.79
betterCだと思っていた時期がわたしにもありました
13あぼーん:あぼーん
あぼーん
14デフォルトの名無しさん:2012/09/30(日) 11:17:14.35
以下のコードがgcc4.6.1でコンパイルエラーになるのですが、原因わかる方います?
当然ながらtestをmainの外に出せば問題ありません。
あと、VC8でも正常にコンパイルできています。

12 int main () {↲
13 class test {↲
14 public:↲
15 void func() {↲
16 printf("aaaa\n");↲
17 }↲
18 };↲
19 ↲
20 test t;↲
21 boost::thread th(&test::func, &t);↲
22 th.join();↲
23 return 0;↲
24 }↲
15デフォルトの名無しさん:2012/09/30(日) 11:42:57.51
VCの独自拡張なのか…?
ttp://d.hatena.ne.jp/erio_nk/20090817/1250505464
16デフォルトの名無しさん:2012/09/30(日) 12:08:16.11
ローカルクラスをテンプレート引数にするのはC++11から
17デフォルトの名無しさん:2012/09/30(日) 12:09:30.87
なぜ関数内クラスはダメで関数内関数はアリなんだろう
18デフォルトの名無しさん:2012/10/04(木) 13:47:06.68
参考書籍を買うとしたらどれがお薦めですか?
19デフォルトの名無しさん:2012/10/04(木) 14:10:54.13
webで間に合うよ
面倒なのはインストールだけ
20デフォルトの名無しさん:2012/10/04(木) 22:02:19.76
boostくらいインストールなしで最初から使えるようにしてくれよ
21デフォルトの名無しさん:2012/10/04(木) 22:06:43.25
解凍したらすぐ使えるのばっかだろ
22デフォルトの名無しさん:2012/10/04(木) 22:41:30.28
何GBもいらないもんインストールするくせに
肝心なもんは入れてくれないんだよな
23デフォルトの名無しさん:2012/10/11(木) 18:16:22.10
boost の iostreams を使って 簡単なフィルターを作って遊んでるんですが、
filtering_ostream の最後にfile_sinkにして、そのファイルのパーミッションを変更して、書き込み不可にしたときに
1)try catchでくくっても例外が発生しない。
2)その filtering_ostream のオブジェクトの fail() メソッドでチェックしてもtrueになってない。
ということで、エラー無視して動作してる状態になってます。
書き込み不可とかでエラーの検出ってどうやるんでしょうか?
24デフォルトの名無しさん:2012/10/11(木) 19:07:37.56
>>23
自己レスですが、ソースとネットを確認したら file_sink の is_open() で確認できるみたい。
filtering_ostream の fail() では確認できないみたい。 そういう仕様なのか? 良くわからない。
25あぼーん:あぼーん
あぼーん
26デフォルトの名無しさん:2012/10/15(月) 23:50:37.46
Mac OS X 10.7.5でBoost 1.51のfilesystemを使おうとすると正常に動作しなかった。
file_size("file_name")でも実行時にエラーになる。

コンパイラーがXcode 4.5.1ではデフォでLLVM Compiler 4.1になっているが、これをGCC4.2にすると正常に動作。
他に同じ症状の人いる?
27デフォルトの名無しさん:2012/10/24(水) 19:26:52.22
>>20
あくまで非公式なんだからビルトインはおかしい
28デフォルトの名無しさん:2012/11/03(土) 04:59:16.73
このスレ全然活発じゃないけど、なんで?
29デフォルトの名無しさん:2012/11/03(土) 10:56:58.53
2ch 自体が活発じゃない既にオワコン
活発な気がするスレはあるけど
あっちは自演で成り立ってるだけだから
30デフォルトの名無しさん:2012/11/03(土) 14:38:09.51
いまはtiwtterが活発なの?
31デフォルトの名無しさん:2012/11/07(水) 23:51:36.15
boost::iostreams::copyって、バイナリファイルは扱えないの?

boost::iostreams::filtering_istream is;
is.push(boost::iostreams::file_source("src",std::ios::binary));
boost::iostreams::filtering_ostream os;
os.push(boost::iostreams::file_sink("dst",std::ios::binary));
boost::iostreams::copy(is,os);

ってやったとき、srcの中身がテキストファイルならちゃんとdstに出力されるんだけど、
srcがバイナリファイルの場合は出力されてないんだ。
32デフォルトの名無しさん:2012/11/08(木) 16:50:43.03
33デフォルトの名無しさん:2012/11/13(火) 03:43:36.28
Mac初心者なんだが
iPhoneで動かすためにBoostをmacportsでインストールしたんだが
lipo -info で見るかぎり、x86_64 しか出来てない
どうすればboostできるの?
OSはSnowLeopard
34デフォルトの名無しさん:2012/11/16(金) 02:07:47.98
>>31
自己解決した。
どうもfile_sourceとfile_sinkのファイルパスに全角文字が混ざるとダメみたい。
1.52.0で確認。
てかこんな制限知らなかったよ…
35デフォルトの名無しさん:2012/11/16(金) 05:36:39.31
またmbcsとwcsの違いを気にしない馬鹿か
36デフォルトの名無しさん:2012/11/17(土) 00:20:55.30
何だsetlocaleすればよかっただけなのか…
37デフォルトの名無しさん:2012/11/17(土) 00:48:48.06
すいません、C++そのものがほとんど初心者なのですが、
どうしてもコンパイルエラーが取れないので質問させてください・・・

#include <boost/thread.hpp>
すると、duration.hppの

static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW
{
return -(std::numeric_limits<float>::max) ();
}
で『Constexpr function never produces a constant expression』というエラーが発生します。

調べて、maxがうまいこといってないんだろうと推測したのですが、Macでの対処法がわかりません・・・
どうかよろしくお願いします。
38デフォルトの名無しさん:2012/11/17(土) 13:13:04.09
boostのバージョンとコンパイラとそのバージョンくらい書けよ
constexprがらみみたいだからいっそ11でなく03でコンパイルしたら
39デフォルトの名無しさん:2012/11/17(土) 13:17:31.66
ああこれかttps://svn.boost.org/trac/boost/ticket/7479
boost1.52.0にあげろ
40デフォルトの名無しさん:2012/12/04(火) 22:43:58.09
Boost.Context
なかなかかわいいな
41デフォルトの名無しさん:2012/12/07(金) 22:08:02.78
zlib、gzipは操作できたんだけど
PKzipを操作する方法ない?
42デフォルトの名無しさん:2012/12/08(土) 00:48:21.89
PKWARE社にきくといいんじゃないかな
43デフォルトの名無しさん:2012/12/14(金) 13:20:13.79
asioってiPhoneでも動く?
thread、signal、filesystem等の
OS依存部分に関して制限とか知ってたら教えてほしい。
44デフォルトの名無しさん:2013/01/05(土) 21:00:15.65
MinGw上のg++ 4.6.2でBoost 1.51のSpiritのQiのヘッダのプリコンパイルができない
コンパイルに時間のかかるライブラリなのでプリコンパイルしたかったのに
45デフォルトの名無しさん:2013/01/05(土) 21:08:50.09
テンプレートのプリコンパイルって意味あんの?
46デフォルトの名無しさん:2013/01/05(土) 22:16:12.70
言われてみればそうかも
でもMplのサンプルプログラムはヘッダをプリコンパイルしても動いてるみたいだしどうなんだろう
47デフォルトの名無しさん:2013/01/05(土) 23:23:02.30
テキスト解釈する分は省けるから全くの無駄ってわけじゃないけど、
qi のコンパイル時間にはほとんど寄与しないだろうね。
parser 部分だけ分けてコンパイルできるようにすればどう?
48デフォルトの名無しさん:2013/01/14(月) 00:30:43.75
何千回も同じヘッダをインクルードしてはインクルードガード処理しているようなら
1つにまとめた方が速いと思う。
49デフォルトの名無しさん:2013/01/26(土) 19:58:06.47
Spiritのチュートリアルを参考にMyDefragのスクリプトファイルのパーサーを作ろうとしたが
コンパイル最中にBoost.Variant関連でヒープ領域が食いつくされてしまう
自分のコードの再帰関連で変なところがあるんだろうなw
50デフォルトの名無しさん:2013/01/27(日) 04:59:59.70
spiritは重過ぎて残念というのがオレの評価
51デフォルトの名無しさん:2013/01/27(日) 16:39:46.34
関数がインライン化されないと速度も残念だしな
52デフォルトの名無しさん:2013/01/27(日) 17:38:03.07
forceinlineの強化版が欲しい
53デフォルトの名無しさん:2013/01/27(日) 19:24:42.92
VS2012のツールセットのv110_xpでビルドするにはどういうコマンドラインになるの?
v110とv110_xpの二種類あって、バージョンだけ指定したらv110になるよね
54デフォルトの名無しさん:2013/01/30(水) 03:22:39.66
VC2010でBoost preprocessorのBOOST_PP_FORがうまく動かないんだよね。
2日くらいいろいろ調べてみたがよく判らなかった。

http://d.hatena.ne.jp/DigitalGhost/20091212/1260594965

ここのを参考に(かなりそのままに)使ってるんだが、これもうまく通らなくなってる。

自動展開で256を超えた場合に問題があって以前パッチで修正してるらしいんだが
まだ問題ありそうなんかなぁ。

ここの中の人に聞いた方が早いか?
55デフォルトの名無しさん:2013/01/31(木) 16:36:21.59
>>1
56デフォルトの名無しさん:2013/01/31(木) 23:28:36.64
>>55
今更すぎるだろ
57デフォルトの名無しさん:2013/02/03(日) 16:47:48.87
Boostと相性の良いガーベジコレクターライブラリって何になりますか?
58デフォルトの名無しさん:2013/02/03(日) 18:22:43.06
ネタじゃなくてマジで node.js
59デフォルトの名無しさん:2013/02/06(水) 19:41:49.75
Version 1.53.0
February 4th, 2013 18:29 GMT
60デフォルトの名無しさん:2013/02/11(月) 21:59:58.91
Lock-Freeっていうのが新しく入ったみたいだけど、Interprocessと組み合わせた場合の制限(↓)ってもう少し詳しい説明はどこかにないのかな、今の段階の回避方法とか
ttp://www.boost.org/doc/libs/1_53_0/doc/html/lockfree/rationale.html#lockfree.rationale.interprocess_support
61デフォルトの名無しさん:2013/02/21(木) 14:46:16.08
variant<int,int>が自動でintにならない?
62デフォルトの名無しさん:2013/02/25(月) 23:28:51.76
日本の企業はBoostライブラリ程度のものはすでに自前で作っているから
企業ではboostはほとんど使われないよな
お前ら趣味でプログラム?
63デフォルトの名無しさん:2013/02/25(月) 23:48:33.91
progress_displayが使えるのはboostだけ!
64デフォルトの名無しさん:2013/02/26(火) 09:34:00.83
日本の企業も腐るほどあるわけで
65デフォルトの名無しさん:2013/02/26(火) 14:14:10.80
mplでprintf dbugみたいなことって出来ないの?
66デフォルトの名無しさん:2013/02/27(水) 02:00:58.80
boost::thread::idでスレッドIDを指定してスレッドがまだ存在しているかどうか
確認する方法ってありますか?
67デフォルトの名無しさん:2013/02/27(水) 21:17:16.94
>>61
ないから作った
github.com/niitsuma/variant_shrink
68デフォルトの名無しさん:2013/03/01(金) 04:41:57.22
>>62
マジカヨ日本企業見直したわ
69デフォルトの名無しさん:2013/03/01(金) 09:00:16.00
>>68
大事な事なのでもう一度

日本の企業も腐るほどあるわけで
70デフォルトの名無しさん:2013/03/01(金) 09:03:58.65
このスレも含めてだけど、2chは瀕死の状態だね。どのスレも進まない。
71デフォルトの名無しさん:2013/03/01(金) 23:47:30.60
>>68
使っている企業が多いなら、このスレ、もっと進行するだろう
72デフォルトの名無しさん:2013/03/01(金) 23:48:19.37
2ch頼みの企業とかやだわ
73デフォルトの名無しさん:2013/03/02(土) 13:54:12.05
2chのプログラム板に来る奴が居る企業とかやだわ
74デフォルトの名無しさん:2013/03/02(土) 14:36:12.83
会社からネットにつなげられる時点で3流会社だろ
75デフォルトの名無しさん:2013/03/02(土) 18:58:05.16
そもそもそんなに議論することなんて無いだろ。
76デフォルトの名無しさん:2013/03/02(土) 23:24:14.06
>>74
会社のPCにはLANなんていらないよな
77デフォルトの名無しさん:2013/03/02(土) 23:57:47.84
LANとトランスポート層を意識的に混同してるのか?
ファイアウォールもない会社なんか先行き知れてるぞ
78デフォルトの名無しさん:2013/03/03(日) 01:24:28.01
>>73
>2chのプログラム板に来る奴が居る企業とかやだわ
73は企業の人じゃないとするとニート?
79デフォルトの名無しさん:2013/03/03(日) 01:30:10.91
2chに書き込みなんかしてる
>>73
とか嫌だわ。その嫌な奴が嫌と言ってる事って...?
(クレタ人は嘘つきだ...)
80デフォルトの名無しさん:2013/03/03(日) 08:22:35.27
>>78
学生じゃないか
社会人なのにどぶ板の2chに入り浸っている奴ってへんな奴が多いだろうし
81デフォルトの名無しさん:2013/03/03(日) 13:54:46.99
ちなみにBoostについて日本語で情報交換できる場所って他だと何処にあるの?
82デフォルトの名無しさん:2013/03/04(月) 01:50:01.10
Google
83デフォルトの名無しさん:2013/03/04(月) 02:05:06.32
まぢ日本語は諦めてブックマークに
boost/G URL:google.com/webhp?hl=ja&q=site:boost.org+%22
weblio/G URL:google.com/webhp?hl=ja&q=site:weblio.jp+%22
でも入れといた方が楽ですぜ
84デフォルトの名無しさん:2013/03/04(月) 09:22:05.97
googleって情報交換できるの?
始めて聞いた
ひょっとして思考盗聴とかのたぐい?
85デフォルトの名無しさん:2013/03/04(月) 09:24:54.56
iphoneから2chへのアクセスが禁止になると同時に
http://togetter.com/li/464104#c990983
あちこちに「2chは底辺」とか「2chは終わり」
>>70
みたいなのが増殖するというのは分かりやすすぎなのではないのですか?
もうちょっとこう工夫するとか出来ないのでしょうか?
86デフォルトの名無しさん:2013/03/04(月) 10:54:05.41
単なる時間的な前後関係を因果関係と思っちゃうタイプか
87デフォルトの名無しさん:2013/03/04(月) 23:40:29.81
>>86
うん
ピットクルーの自給800円バイトの割には頑張ってると思うよ
88デフォルトの名無しさん:2013/03/05(火) 02:13:41.64
>>84
WEBに公開するとgoogleの検索にひっかかるんだぜ。
2chとgoogleがありゃ大抵は情報交換可能。
89デフォルトの名無しさん:2013/03/13(水) 04:26:28.69
ここの皆さんがいるじゃあないですか ンヒッ (キチガイスマイル)
90デフォルトの名無しさん:2013/03/15(金) 01:30:00.33
91デフォルトの名無しさん:2013/03/15(金) 11:21:51.51
92デフォルトの名無しさん:2013/03/21(木) 07:48:20.63
boostは便利な昨日が多いけど、
マニュアルが読み辛いんだよな。
93デフォルトの名無しさん:2013/03/25(月) 18:22:55.34
ファイルをインクルードして、
その中で自作のdefineで定義されたマクロが呼ばれた回数わかりませんかね?
94デフォルトの名無しさん:2013/03/26(火) 02:14:50.97
やったことないけど Boost.Wave のトレース機能使ってみるとか。
9593:2013/03/29(金) 18:32:38.45
純粋にはできなかったけど、
マクロ呼びたしをリスト化して解決しました

all(
func(123)
func(456)
func(789)
)
のように

BOOST_PPではSEQ型って呼ばれてる型で渡せるように
96デフォルトの名無しさん:2013/03/31(日) 20:14:52.99
boostの質問もスタックオーバーフローにしたほうが
いい返事がくる気がする
97デフォルトの名無しさん:2013/04/01(月) 12:50:35.39
人が多いうえにネイティブで英文の一次資料を楽に読める人だらけ、
質問と回答が基本で雑談・荒しが本筋に乗らない、レーティングとコメントで有益な情報を判別できる、
といったあたりはましだろうけどな
それでも回答のつかない質問・ずれた回答・間違った回答は人が多い分やっぱり多い
98デフォルトの名無しさん:2013/04/06(土) 03:19:26.83
なんでboostPro使って外部参照が未解決になるんだ…
99デフォルトの名無しさん:2013/04/12(金) 14:31:06.82
1.47にしたら今のところ安定してるよ
100デフォルトの名無しさん:2013/04/15(月) 15:41:23.62
boostProでだめなら自前でビルドすればいいじゃない
101デフォルトの名無しさん:2013/04/15(月) 20:23:40.12
素人だけど頂きました! シリアライズが神すぎます
102デフォルトの名無しさん:2013/04/15(月) 23:33:20.38
尻洗い図
103デフォルトの名無しさん:2013/04/16(火) 17:35:55.38
boost::iostreamsで、入力サイズと出力サイズが異なるinput_filterってどうやって作るの?
zlibのフィルタとかソース見たけどわからなかった…
104デフォルトの名無しさん:2013/04/16(火) 21:19:11.74
フィルターに状態フラグを持たせて状態に応じて振る舞いを変える程度だと思うけど?
105デフォルトの名無しさん:2013/04/22(月) 01:13:07.26
https://github.com/bitcoin/bitcoin
ビットコインの実装がBoost使いまくってて
もういっそasioの一部になってしまえ
な感じになってる
106103:2013/04/26(金) 00:08:27.30
自己解決。
入力サイズと出力サイズが違うからおかしくなってたんじゃなくて、
入力データをバッファに入れるだけで次のやつに渡さない状態の時に0を返してたのがダメだった。
0返すとそこで終了しちゃう。

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

これの名前忘れてしまって検索しようがないのだけど
誰か知りませんか?
145デフォルトの名無しさん:2013/10/17(木) 09:04:48.53
cygwin
msys
mingw
bow
colinux
andlinux
146デフォルトの名無しさん: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に以降したんだけれど、
今のところ公式から落としてくるのには、
各リポジトリのすべてをクローンしなきゃいけないの?
ライブラリ単位でリポジトリが分散したせいでやりづらくなっているんだが
149デフォルトの名無しさん:2014/01/16(木) 22:38:47.63
HEADだけ取れるだろ
150デフォルトの名無しさん:2014/01/17(金) 00:47:20.36
>>148
https://svn.boost.org/trac/boost/wiki/TryModBoost#InstallingModularBoost
> git clone --recursive [email protected]: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でしょうか?
154デフォルトの名無しさん:2014/01/17(金) 09:41:52.32
#include <cstddef>
155デフォルトの名無しさん: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】
古いコンパイラでもマルチプラットフォームでマルチスレッド対応が可能。
159片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/02/23(日) 01:27:59.03
……こんな感じで宣伝頼む
160デフォルトの名無しさん:2014/02/23(日) 02:04:51.86
【Boostのここがヒドい1】
バイナリがでかくなる
【Boostのここがヒドい2】
コンパイルエラーがいみふ
161デフォルトの名無しさん:2014/02/23(日) 02:33:44.40
awkは、2^200を計算できないのですが、
bcコマンドは出来ます

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

exeだとDLL版でもいいんだけど、プラグインdllだとexeと同じパスに置かれないことも多いし
32/64bitの区別の問題とかもあって暗黙的なDLLロードに期待できないんだよね。
だからboostのバイナリをDLして使うより手間がかかるからboost自体を巨大化されるのは困る。
176デフォルトの名無しさん:2014/02/25(火) 08:06:45.55
177片山博文MZジェバンニ ◆T6xkBnTXz7B0 :2014/03/10(月) 14:38:05.36
VC11だと、bootstrappingが必要か。。。
時間がかかりそうだな。。。
178デフォルトの名無しさん:2014/05/06(火) 15:21:54.64 ID:DynE4XBA
 
179デフォルトの名無しさん:2014/06/08(日) 10:51:05.92 ID:j31/DBL2
数年ぶりに戻って来たんだけど、今はLets Boostみたいな日本語で解説してるサイトは無いの?
付属のdocだと情報量が多すぎて疲れる・・・
180デフォルトの名無しさん:2014/06/08(日) 13:13:45.71 ID:1X5GviKQ
頑張って英語読もう
コードもついてるしそんな難しくないだろう
181デフォルトの名無しさん:2014/06/08(日) 13:29:42.85 ID:AzMImLSv
boostなくても標準C++で間に合うようになって来てる
182デフォルトの名無しさん:2014/06/13(金) 14:51:21.47 ID:UdQiVjj6
逆にまだboostじゃないとダメな機能ってどんなのがあるんだろう?
183デフォルトの名無しさん:2014/06/13(金) 15:05:29.84 ID:LHr3GtlM
property_treeとかserializeとか
184デフォルトの名無しさん:2014/06/13(金) 16:38:51.85 ID:ooUx6NQl
format ってどうなった?
185デフォルトの名無しさん:2014/06/20(金) 01:10:34.79 ID:Lg1rjNq/
boost使い始めたのはgregorianのためだったっけな一番最初は
その後scoped_arrayとかも使い始めた
186デフォルトの名無しさん:2014/06/22(日) 22:12:29.06 ID:16+BG254
怒らずにマジレスしてほしいんだけど progress_display に代わるものってあるの?
187デフォルトの名無しさん:2014/06/24(火) 02:24:02.69 ID:tub1q0dy
stdoutでいいんじゃね?
188デフォルトの名無しさん:2014/08/08(金) 10:09:29.41 ID:bvhG3beM
Version 1.56.0
August 7th, 2014 16:08 GMT
189デフォルトの名無しさん:2014/08/11(月) 14:29:54.99 ID: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  
もビルドするには、どうすればよいでしょうか?
190デフォルトの名無しさん:2014/08/12(火) 01:45:55.26 ID:O5xDEFJj
あてずっぽだけどmt-sってlink=staticなb2の生成物だと思うから
link=sharedのときの生成物をよく探せばいいんでないの
191デフォルトの名無しさん:2014/08/12(火) 02:15:08.53 ID:oYrFzOtb
link=static runtime-link=shared
がないからじゃね
192デフォルトの名無しさん:2014/08/12(火) 12:56:31.79 ID:oLoknUBV
>>190,191
レス有難うございました。
その通りでした。
link=static runtime-link=static
link=shared runtime-link=shared
以外に、
link=static runtime-link=shared
link=shared runtime-link=static
もビルドしたら解決しました。
193デフォルトの名無しさん:2014/08/13(水) 11:16:20.84 ID:aA3WCwQl
copy して rename だけで良かったんじゃないかという気はする
194デフォルトの名無しさん:2014/08/16(土) 00:19:18.57 ID:datmhcQU
それじゃだめなんよ
libcとdll混在でえらいことなる
コンパイラオプションでstatic版、dll版どっちリンクするか決定してるから
195デフォルトの名無しさん:2014/08/22(金) 20:53:28.55 ID:GZiwALqE
ええっと、WindowsのDLLの仕様上、
link=sharedとruntime-link=staticの組み合わせは基本マズイはず。
.exe側と .dllが 別々に __FILE__ 構造体を保持したりして、
それを狙っている場合はいいが知らずにstatic変数のポインタを
やり取りするとクラッシュすると聞いた。
その逆も同様だと思った。
196デフォルトの名無しさん:2014/08/23(土) 02:33:52.06 ID:830xsgTR
テンプレの関連書籍買おうと思うんだけど
内容はどんな感じなの?
Boostのホームページに書いてる以上のこと書いてる?
あとテンプレ貼られてから2年経つけど2年の間に新しく関連書籍出た?
197デフォルトの名無しさん:2014/08/23(土) 04:37:08.56 ID:ZWPa2xFI
>>195
一番まずいのはHeap破壊
libcのmallocで確保したポインタをmsvcrt.dllのfree呼び出す、あるいはその逆するとHeapがおかしくなる
198デフォルトの名無しさん:2014/08/24(日) 01:03:29.49 ID:z6SsqQq7
>>195,197
憶測で語るのはそこまで。不具合が実在するなら公式tracにバグ報告して貢献したほうがいい。
199デフォルトの名無しさん:2014/08/24(日) 01:06:01.45 ID:dSaHZUjz
不具合というか仕様だろ
知らんと嵌るが
200デフォルトの名無しさん:2014/08/24(日) 01:57:11.06 ID:z6SsqQq7
>>199
確かに >>197 のHeap破壊の件はboostと関係ないね。失礼。
exe側の標準ライブラリリンク方法を変えて対処すべきことを、側聞だけで基本マズいとか断言する >>195 みたいなの困るわ。
201デフォルトの名無しさん:2014/08/24(日) 17:02:34.37 ID:zFKb4A2a
いや、exe側のリンク方法を変えてもポインタを渡したらアウト、対処できない。
exeの作成者側が仕様を理解していれば、それで動作させることも可能だが、
一般的にそんな用途はない。
ライブラリのバージョンの特殊なテストとか普通にはない状況。
202デフォルトの名無しさん:2014/08/24(日) 17:12:05.16 ID:mYuQxuS2
結局>>193はやっちゃだめってこと
203デフォルトの名無しさん:2014/08/24(日) 21:50:12.26 ID:zFKb4A2a
ついでに
逆にlink=staticとruntime-link=sharedの場合だと、
利用者が常に一つの.exeを作る場合には良いが
利用者も.dllを書いて、そちら側からもboostを利用する場合、
同様の問題が発生するので×

そうすると一般用途にビルドを行う場合
link=static runtime=static
link=shared runtime=shared
この2つのパターンだけ用意すれば良いと思われる
204デフォルトの名無しさん:2014/08/25(月) 18:17:09.07 ID:K+Y1EV40
(´-`).oO (なんでboostとC標準のリンクオプションがわざわざ別々になってると思う?)
205デフォルトの名無しさん:2014/08/25(月) 18:52:52.89 ID:34Z9Wbr7
正直link=とruntime-link=のそれぞれの意味がわかってないけど、
とりあえずlink=staticのしか使ったことない。
runtime-linkのほうはMSVCのコード生成設定に合わせるけど。
206デフォルトの名無しさん:2014/08/25(月) 19:50:29.57 ID:TLgrT9xd
>>204
解説よろしくお願いします。
207デフォルトの名無しさん:2014/08/25(月) 20:13:31.67 ID:S+r49QAC
Express版の2010だとEula.txtが付属してないので、
/MDだと著作権的にグレーになってしまう。
/MTでコンパイルしないと公開できないw
208デフォルトの名無しさん:2014/08/25(月) 20:33:49.53 ID:34Z9Wbr7
ていうかMSVCで普通にプロジェクト作って普通にインクルード&ビルドしたら
link=staticで作成されたファイル名のほうしか読みにいかなくない?
マルチスレッドDLLでもマルチスレッドでもdebugでもreleaseでも。
209デフォルトの名無しさん:2014/08/25(月) 20:35:42.94 ID:34Z9Wbr7
208はexeを作ったときの話。dllについては知らない。
210デフォルトの名無しさん:2014/08/25(月) 21:07:00.41 ID:S+r49QAC
BOOST_ALL_DYN_LINKを定義しないと, libboost_の方にリンクする。
定義するとboost_の方へリンクしてDLLを使用するようになる。
211208:2014/08/26(火) 00:28:28.83 ID:00zrwMl9
>>210
ありがとうございます。
BOOST_ALL_DYN_LINKなるキーワードがあったのですね。
212デフォルトの名無しさん:2014/08/27(水) 03:36:26.18 ID:6l9mfgq+
#pragma comment(linker, "/NODEFAULTLIB:libboost_〜.lib")
ってやって必要なcppだけ本体と一緒にコンパイルリンクするのが一番楽
213デフォルトの名無しさん:2014/10/06(月) 22:24:43.15 ID:tIlHofLk
ネットワーク関係はpocoと比べてどうなの?
214デフォルトの名無しさん:2014/10/26(日) 12:18:21.65 ID:/US9w/Z3
Boost spirit qiの、grammarに設定するinherited attributeについて
どうしても分からない点があるので、質問します。

* ソースコードとエラーメッセージ全文 *
http://pastebin.com/FaNQKEh1

コンパイラはVS2013 Pro Update3 の cl.exe (バージョン18.00.30723)
boostのパッケージはバージョン1.55(7zip版)です。

inherited attributeとして自作の構造体を使用したいと思い
qi::grammarのSignatureの引数部に自作の構造体を設定したところ
「その構造体にresultの定義がない」というエラーメッセージが起きコンパイルが失敗しました。

構造体の代わりにstd::string(resultというメンバは持っていないはず)を使用すると
問題なくコンパイルが通るので、inherited attributeに設定できる型に何か制約があるようにも思えるのですが
boost.orgのドキュメントからはそれらしき記述が見つけられず、エラーメッセージを見ても私にはわかりませんでした。
海外含めて関連する情報がないか探したのですが(boost spirit qi inherited attribute requirement 等で検索)
解決策を見つけられませんでした。

inherited attributeに使用できる型の制約条件や、類似のコンパイルエラーとその対処方法をご存じであれば
教えていただきたく思います。
215デフォルトの名無しさん:2014/10/26(日) 15:46:28.32 ID:r2skli7n
VS2013のC++でBoost1.56を使っているのですが、どんなプロジェクトを作ってもビルドすると
  コンパイルされたクラスの テンプレート のインスタンス化
'std::streamsize boost::iostreams::detail::copy_operation<Source,Sink>::operator ()(void)'
 の参照を確認してください
みたいか警告がいつも数十行出るんですが、「参照の確認」とは何をどうすれば良いのでしょうか?
216デフォルトの名無しさん:2014/10/27(月) 22:32:16.46 ID:DoYepSGR
>>214
エラー以前になんかInherited attributesの使い方と使いどころを基本から間違っていないか?
ここの例を見る限り ttp://www.boost.org/doc/libs/1_56_0/libs/spirit/doc/html/spirit/qi/tutorials/mini_xml___asts_.html
正規表現での後方参照みたいに一つのルール内でサブルールにマッチした結果によって
挙動を変えるルールを記述するときに使うものじゃないか?
217デフォルトの名無しさん:2014/10/28(火) 00:29:16.37 ID:uWcH6Wmu
>>216
レスありがとうございます。
なるほど、想定されている使い方はこういったケースなのでしょうか。
だとしたらそもそも今回の私がやろうとしていたことには不適切だったかもしれませんね。
(パースするごとに、inherited attributeに設定したインスタンスに情報を反映させたかった)
余計なことは考えず、普通に対応するようにします。

コードについてですが、この例を参考にしてすこし試したところ
要するにboost::phoenixなオブジェクトであれば渡せるようで
grammarのoperator()に渡す引数をphoenix::val(...)やref(...)で包めば
コンパイルが通ることがわかりました。まだ動作確認はしていませんが・・・
ともあれ、ありがとうございました。
218デフォルトの名無しさん:2014/10/30(木) 00:07:58.69 ID:lLBGJ4gC
>>214,217
いまさらだがわかった範囲で言っておくと

Inherited attributes に対する条件には
ttp://www.boost.org/doc/libs/1_56_0/libs/spirit/doc/html/spirit/qi/reference/basics.html

> Some parsers (e.g. primitives and non-terminals) may take in additional attributes. Such parsers take the form:
> p(a1, a2,..., aN)
> where p is a parser. Each of the arguments (a1 ... aN) can either be an immediate value, or a function, f, with signature:
> T f(Unused, Context)
> where T, the function's return value, is compatible with the argument type expected and Context is the parser's Context type
> (The first argument is unused to make the Context the second argument. This is done for uniformity with Semantic Actions).
があって
その immediate value の判定は boost::is_scalar か boost::spirit::traits::is_string のどちらかが真であるかで判定されてる。

けれど MyStruct はそのどちらにも該当しないので immediate value ではなくもちろん関数でもないから条件を満たさずエラーになる
>>217でやったように phoenix の val, ref でラップすれば function, f のほうで条件を満たすことができるのでエラーにはならない
ということだと思う
219デフォルトの名無しさん:2014/10/30(木) 11:39:19.54 ID:ImhG7AIb
>>218
詳しく調べていただきありがとうございます。
「immediate value」判定を行っている個所を確認して、std::stringが通った理由も納得できました。
というか、かなり制限がきつかったんですね・・・そりゃ通らないわけだ。
220片山博文MZ次期CEO ◆T6xkBnTXz7B0 :2014/11/01(土) 21:27:12.06 ID:jtBHZTX6
property tree使ったら、XMLの入出力は楽勝や!
221デフォルトの名無しさん:2014/11/07(金) 00:16:46.51 ID:HXLLL8gC
当然っちゃ当然なんだけど
boost::functionとstd::functionって実装違うんだね・・・
boost::lambdaで作ったファンクタが、前者だと格納できて
後者だと格納できずにコンパイルエラーになるケースに遭遇したよ
222デフォルトの名無しさん:2014/11/11(火) 09:50:08.64 ID:Q0YP3r9c
その違いはコンパイラの違いや、そのC++STLが対応するバージョンにもよるな
VC++2013のstd::unordered_mapのキーに素直にtuple指定できないからboost::unordered_map使ったりしてる
いずれ指定できるようになったらstdに戻す
223デフォルトの名無しさん:2015/01/05(月) 15:35:07.20 ID:eKet1BcH
boost::unordered_mapのキーに生ポインタ入れるのはさすがにマズイよね?
224デフォルトの名無しさん:2015/01/05(月) 15:39:30.18 ID:8wARtoFz
問題ない
225デフォルトの名無しさん:2015/01/05(月) 19:12:49.53 ID:o8IVACxb
問題ないけどmapで扱わずメンバにすればと思った
226デフォルトの名無しさん:2015/01/05(月) 21:30:21.14 ID:X1Ja4Fny
valueにshared_ptr、keyにはその生ポインタっていうのは良く使ってるなぁ
227デフォルトの名無しさん:2015/01/06(火) 01:03:54.45 ID:oPiR2ldc
あ、特に問題はないのか。
何となくだけど、「生ポインタ入れたらヤバそう」って思い込んでたよ…
228デフォルトの名無しさん:2015/01/06(火) 10:02:24.08 ID:LjydeOaO
ナマポ
229デフォルトの名無しさん:2015/01/06(火) 16:03:04.47 ID:2r6Mr9Ml
目的によるわな。
キーとしては単なる整数だしな。
230デフォルトの名無しさん:2015/01/07(水) 09:03:30.78 ID:ZvIwm56v
生ポの開放時にキーも削除又は解放後は使用されないのなら特に問題無さそう
231デフォルトの名無しさん:2015/01/11(日) 09:45:08.68 ID:9tA14JDu
smart pointerのdeleterでキー削除すればいいと思うよ
232デフォルトの名無しさん:2015/01/21(水) 17:56:52.67 ID:jsrBE0pL
http://boost.cppll.jp/ の文字化け問題っていつ治るの?
毎回EUCに切り替えるのめんどくせーんだけど
233デフォルトの名無しさん:2015/01/21(水) 18:34:30.53 ID:65s3laC/
10年前から放置されたHPに文句言うなよww
234デフォルトの名無しさん:2015/01/22(木) 12:40:59.12 ID:/jHS8Rgv
文字化けなおしたのが、githubにコピーされてるよ。
ttp://www.freeml.com/cppll/14009

ttp://boostjp.github.io/archive/boost_docs.html
235デフォルトの名無しさん:2015/02/01(日) 22:32:38.38 ID:0ZgW1UY4
Windows8でVisual studio 2012にBoost1.57.0をビルドしようとしているのですが、失敗して困っています。
ネット上にあるboostのインストールのやり方を参考に、

bootstrap
b2 toolset=msvc-11.0 --build-type=complete stage

とビルドしたのですが、

...failed updating 411 target...
...skipped 556 targets...
...updated 4241 targets...

と出ます。エラーメッセージが大量に出るのですが、一部を見ると、
一番最初に

link.jam no such file or directory

というエラー出たり、

call "C:\Program Files (x86)\microsoft visual studio 11.0\vc\vcvarsall.bat x86>nul



...failed msvc.archive bin.v2\libs\wave\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_wave-vc110-mt-s-1_57.lib
...skipped <pstage\lib> libboost_wave-vc110-mt-s-1_57.lib for lack of <pbin.v2\libs\wave\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi> libboost_wave-vc-110-mt-s-1_57.lib

のように出ています。
↓続く
236デフォルトの名無しさん:2015/02/01(日) 22:33:18.14 ID:0ZgW1UY4
sage忘れすみません

実はこのエラーに対面する前、bootstrapを実行するときに

'cl'は内部コマンドまたは外部コマンド操作可能なプログラムまたはバッチファイルとして認識されていません

というエラーが出まして、それを解決するために
http://blog.remu.biz/2011/04/vs2010boost.html
このサイトを参考にC:\Program Files(x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.batに

@SET VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 11.0
@SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
@SET FrameworkDir32=C:\Windows\Microsoft.NET\Framework
@SET FrameworkVersion32=v4.0.30319
@SET Framework35Version=v3.5

の追加と

::@call :GetVSCommonToolsDir
::@if "%VS110COMNTOOLS%"=="" goto error_no_VS110COMNTOOLSDIR

::@call "%VS110COMNTOOLS%VCVarsQueryRegistry.bat" 32bit No64bit

のコメントアウトの編集をしました。
もしかしたらそれが原因なのでしょうか?しかし元に戻してビルドを行ってみたのですがやはりビルドはできませんでした。
3日ほど悩んで答えが出なかったので皆さんの力を借りさせてください。お願いします。
237デフォルトの名無しさん:2015/02/02(月) 02:24:51.60 ID:E0RD/vzJ
jamを別途インスコ
238デフォルトの名無しさん:2015/02/02(月) 02:58:34.63 ID:rg/FV5H5
>>235です。
すみません。初心者なものでjamというものが何を指しているのかわかりません。
bjam.exeならbootstrapの時にb2.exeと一緒に生成されています。
ぐぐるとboost-jamというものも見つかったのですが、これは古いバージョンのインストールに使うもの?のようでした。
239デフォルトの名無しさん:2015/02/02(月) 08:01:38.26 ID:GrIIWufd
>>236
スタートメニューにあるVS2012 x86 Native Tools コマンド プロンプトから
b2を呼んでるか?
240デフォルトの名無しさん:2015/02/02(月) 13:05:41.10 ID:trPfkB+8
>>239
VS2012開発者コマンドプロンプトから呼んでました。
改めてVS2012 x86 Native Tools コマンド プロンプトでビルドしてみたのですが、failed updatingと言われ、ビルドできませんでした。
241デフォルトの名無しさん:2015/02/02(月) 14:13:46.69 ID:trPfkB+8
>>235です。
どこでエラーメッセージが区切られているのかわからなかったため、読み飛ばしてしまってました。これが全文のはずです。

if exist "bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib"
DEL "bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib"
C:\Users\ユーザー名\AppData\Local\Temp\b2_msvc_11.0_vcvarsall_x86.cmd
link /lib /NOLOGO /out:"bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib"
@"bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib.rsp"

...failed msvc.archive bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib
...skipped <pstage\lib> libboost_random-vc110-mt-s-1_57.lib for lack of <pbin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi> libboost_random-vc-110-mt-s-1_57.lib


DEL "bin.v2\libs\random\build\msvc-11.0\release\link-static\runtime-link-static\threading-multi\libboost_random-vc110-mt-s-1_57.lib"は確かにありました。
しかし、生成された日時を見るとこれはb2を実行した時に生成されたもののようです。
これはどうすればいいのでしょうか?
242デフォルトの名無しさん:2015/03/02(月) 00:54:18.08 ID:Hwlu4opX
Visual Studioでboostを使う自作の
 Static.lib プロジェクト
を作って、そのライブラリを使う自作の
 Console.exe プロジェクト
でリンクして使う場合、Console.exeのプロジェクトの設定で
リンカー
 追加のライブラリディレクトリ: C:\.....\stage\Win32\lib
とすればリンク出来て無事に実行できました。
このリンカーの設定は、Static.libを使うプロジェクトを作ると(今の場合Console.exe)、必ずしておく必要がありますか?
できればStatic.lib側のほうの設定でboostのリンクもできるなら、Console.exe側でやる手間が省けるのですが。
243デフォルトの名無しさん:2015/03/03(火) 16:54:35.92 ID:AGpwHs5d
boostのGILって標準ではBMPファイル読み込めないの?
ぐぐって出て来たnew&nbsp;ioってのはまだboost申請中?みたいだけど、これ使っておけばいいのかな?
244デフォルトの名無しさん:2015/03/03(火) 21:11:19.83 ID:xvH8TFuD
io_newでBMP読めたけど、色深度が読込むファイルと合ってないと例外発生するよ
245デフォルトの名無しさん
>>244
結構面倒くさい仕様だな…
勝手にフォーマット変更とかしてくれると便利だけどさすがに贅沢か…