Boost総合スレ part10at TECH
Boost総合スレ part10 - 暇つぶし2ch73:デフォルトの名無しさん
13/03/02 13:54:12.05 .net
2chのプログラム板に来る奴が居る企業とかやだわ

74:デフォルトの名無しさん
13/03/02 14:36:12.83 .net
会社からネットにつなげられる時点で3流会社だろ

75:デフォルトの名無しさん
13/03/02 18:58:05.16 .net
そもそもそんなに議論することなんて無いだろ。

76:デフォルトの名無しさん
13/03/02 23:24:14.06 .net
>>74
会社のPCにはLANなんていらないよな

77:デフォルトの名無しさん
13/03/02 23:57:47.84 .net
LANとトランスポート層を意識的に混同してるのか?
ファイアウォールもない会社なんか先行き知れてるぞ

78:デフォルトの名無しさん
13/03/03 01:24:28.01 .net
>>73
>2chのプログラム板に来る奴が居る企業とかやだわ
73は企業の人じゃないとするとニート?

79:デフォルトの名無しさん
13/03/03 01:30:10.91 .net
2chに書き込みなんかしてる
>>73
とか嫌だわ。その嫌な奴が嫌と言ってる事って...?
(クレタ人は嘘つきだ...)

80:デフォルトの名無しさん
13/03/03 08:22:35.27 .net
>>78
学生じゃないか
社会人なのにどぶ板の2chに入り浸っている奴ってへんな奴が多いだろうし

81:デフォルトの名無しさん
13/03/03 13:54:46.99 .net
ちなみにBoostについて日本語で情報交換できる場所って他だと何処にあるの?

82:デフォルトの名無しさん
13/03/04 01:50:01.10 .net
Google

83:デフォルトの名無しさん
13/03/04 02:05:06.32 .net
まぢ日本語は諦めてブックマークに
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:デフォルトの名無しさん
13/03/04 09:22:05.97 .net
googleって情報交換できるの?
始めて聞いた
ひょっとして思考盗聴とかのたぐい?

85:デフォルトの名無しさん
13/03/04 09:24:54.56 .net
iphoneから2chへのアクセスが禁止になると同時に
URLリンク(togetter.com)
あちこちに「2chは底辺」とか「2chは終わり」
>>70
みたいなのが増殖するというのは分かりやすすぎなのではないのですか?
もうちょっとこう工夫するとか出来ないのでしょうか?

86:デフォルトの名無しさん
13/03/04 10:54:05.41 .net
単なる時間的な前後関係を因果関係と思っちゃうタイプか

87:デフォルトの名無しさん
13/03/04 23:40:29.81 .net
>>86
うん
ピットクルーの自給800円バイトの割には頑張ってると思うよ

88:デフォルトの名無しさん
13/03/05 02:13:41.64 .net
>>84
WEBに公開するとgoogleの検索にひっかかるんだぜ。
2chとgoogleがありゃ大抵は情報交換可能。

89:デフォルトの名無しさん
13/03/13 04:26:28.69 .net
ここの皆さんがいるじゃあないですか ンヒッ (キチガイスマイル)

90:デフォルトの名無しさん
13/03/15 01:30:00.33 .net
URLリンク(twitter.com)

91:デフォルトの名無しさん
13/03/15 11:21:51.51 .net
URLリンク(twitter.com)

92:デフォルトの名無しさん
13/03/21 07:48:20.63 .net
boostは便利な昨日が多いけど、
マニュアルが読み辛いんだよな。

93:デフォルトの名無しさん
13/03/25 18:22:55.34 .net
ファイルをインクルードして、
その中で自作のdefineで定義されたマクロが呼ばれた回数わかりませんかね?

94:デフォルトの名無しさん
13/03/26 02:14:50.97 .net
やったことないけど Boost.Wave のトレース機能使ってみるとか。

95:93
13/03/29 18:32:38.45 .net
純粋にはできなかったけど、
マクロ呼びたしをリスト化して解決しました

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

BOOST_PPではSEQ型って呼ばれてる型で渡せるように

96:デフォルトの名無しさん
13/03/31 20:14:52.99 .net
boostの質問もスタックオーバーフローにしたほうが
いい返事がくる気がする

97:デフォルトの名無しさん
13/04/01 12:50:35.39 .net
人が多いうえにネイティブで英文の一次資料を楽に読める人だらけ、
質問と回答が基本で雑談・荒しが本筋に乗らない、レーティングとコメントで有益な情報を判別できる、
といったあたりはましだろうけどな
それでも回答のつかない質問・ずれた回答・間違った回答は人が多い分やっぱり多い

98:デフォルトの名無しさん
13/04/06 03:19:26.83 .net
なんでboostPro使って外部参照が未解決になるんだ…

99:デフォルトの名無しさん
13/04/12 14:31:06.82 .net
1.47にしたら今のところ安定してるよ

100:デフォルトの名無しさん
13/04/15 15:41:23.62 .net
boostProでだめなら自前でビルドすればいいじゃない

101:デフォルトの名無しさん
13/04/15 20:23:40.12 .net
素人だけど頂きました! シリアライズが神すぎます

102:デフォルトの名無しさん
13/04/15 23:33:20.38 .net
尻洗い図

103:デフォルトの名無しさん
13/04/16 17:35:55.38 .net
boost::iostreamsで、入力サイズと出力サイズが異なるinput_filterってどうやって作るの?
zlibのフィルタとかソース見たけどわからなかった…

104:デフォルトの名無しさん
13/04/16 21:19:11.74 .net
フィルターに状態フラグを持たせて状態に応じて振る舞いを変える程度だと思うけど?

105:デフォルトの名無しさん
13/04/22 01:13:07.26 .net
URLリンク(github.com)
ビットコインの実装がBoost使いまくってて
もういっそasioの一部になってしまえ
な感じになってる

106:103
13/04/26 00:08:27.30 .net
自己解決。
入力サイズと出力サイズが違うからおかしくなってたんじゃなくて、
入力データをバッファに入れるだけで次のやつに渡さない状態の時に0を返してたのがダメだった。
0返すとそこで終了しちゃう。

あと、zlibフィルタ、入力サイズと出力サイズ同じだった…

107:デフォルトの名無しさん
13/04/30 04:31:45.25 .net
Boostのスレッド関連の機能使ってるライブラリと
OpenMP
一緒に使ったら
うまいこと排他制御して動いてしまったりするもの?

108:デフォルトの名無しさん
13/05/02 13:51:15.60 .net
同じインスタンス使わなければ全く問題ないはず

109:デフォルトの名無しさん
13/05/24 03:08:47.14 .net
圏論は難しいというから調べてみたら
boost.MPL
と同じ事だった

110:デフォルトの名無しさん
13/05/25 00:53:43.69 .net
boostの一番スゲー機能ってなに

111:デフォルトの名無しさん
13/05/25 02:25:23.89 .net
ここまで的を得ない質問をするとは
ひょっとしておぬし馬鹿だな

112:デフォルトの名無しさん
13/05/25 05:08:51.69 .net
的を射る
正鵠を得る
的を(射て正鵠を)得る

113:デフォルトの名無しさん
13/05/25 08:51:28.35 .net
BOOST_MSVCとか

114:デフォルトの名無しさん
13/05/31 11:21:30.34 .net
>>110
thread lexical_cast あたりは毎日使うな

115:デフォルトの名無しさん
13/06/14 04:17:29.54 .net
過疎りすぎだろ

116:デフォルトの名無しさん
13/06/14 10:09:19.01 .net
話すこと無いからな
質問が多そうなBoost初心者は専スレでなく一般のC++スレのほうで質問するだろうし

117:デフォルトの名無しさん
13/06/14 10:55:32.03 .net
Linuxの386サポート打ち切りなんて話があったが、boostでも386のサポートがなくなるな

118:デフォルトの名無しさん
13/06/19 20:42:40.75 .net
ぼくは586なので余裕です^^v

119:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
boostの新しいの出たけど、winのコンパイル済みのものを配布なんてしているところなおのか?
自分でコンパイルなんてハードル高すぎ

120:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
そんなこともできない奴にはまだ必要ないよ

121:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
そもそも実装がヘッダしかないのもあるから仕方ない

122:デフォルトの名無しさん
13/07/04 NY:AN:NY.AN .net
俺はもうcppを自分のプロジェクトに入れちゃってるわ

123:デフォルトの名無しさん
13/07/10 NY:AN:NY.AN .net
こないだ追加されたTypeErasureってどうなの?
試した人いる?

124:デフォルトの名無しさん
13/07/10 NY:AN:NY.AN .net
ようするにany,variantの超強化型なんで強力だぞ
そのぶん複雑なことをやろうとすると下準備のややこしさと面倒くささが増すが

125:デフォルトの名無しさん
13/07/13 NY:AN:NY.AN .net
geometryの実装の凄さはわかるんだが、使いこなせてるやついる?

126:デフォルトの名無しさん
13/08/14 NY:AN:NY.AN .net
boostは使われていないから、過疎っているな

127:デフォルトの名無しさん
13/08/14 NY:AN:NY.AN .net
C++11が出てからboostはニッチツールになって来たな
まあ面白いからこのまま続けてくれ

128:デフォルトの名無しさん
13/08/14 NY:AN:NY.AN .net
いや、今度はC++14の機能が使えるんだから重宝するでしょ

129:デフォルトの名無しさん
13/08/22 NY:AN:NY.AN .net
C++は黄忠

130:やんやん ◆yanyan5.Xudd
13/08/22 NY:AN:NY.AN .net
三国志の黄忠?その心は?

131:デフォルトの名無しさん
13/08/23 NY:AN:NY.AN .net
老兵
強い
諸葛亮が扱わないと猪突猛進してコロッと死ぬ

132:デフォルトの名無しさん
13/09/02 23:44:35.22 .net
boostはソースコード見て勉強するためのもの
実際には使わんよ

133:デフォルトの名無しさん
13/09/02 23:47:23.77 .net
optionalとかserializeとかlexical_castとか使えないと不便だ

134:デフォルトの名無しさん
13/09/03 03:51:47.69 .net
>>132
そういうことはもっと早く言ってよ!

135:デフォルトの名無しさん
13/09/11 19:37:59.70 .net
optional<T&>って気になってたんだけど、optional_ref<T>として
使えるようにするかもしれない、みたいな話は結局どうなったんだろ?

136:デフォルトの名無しさん
13/09/14 06:53:18.13 .net
これをやるには先ずこれを済ませとかないと……でもこれはこれとこれとこれが済んでないと……
えーとつまり発端は……なんて連鎖を取り扱うライブラリありますか?
Makeみたいな

137:デフォルトの名無しさん
13/09/14 08:16:39.93 .net
普通にプログラム書けばそんな感じになるだろ

138:デフォルトの名無しさん
13/09/14 09:51:46.81 .net
trac

139:デフォルトの名無しさん
13/09/20 15:51:26.84 .net
>>137
Systemdみたいに並列にやりたいのでは

140:136
13/09/21 03:59:04.31 .net
なんでもないです忘れてください捜さないでください

141:デフォルトの名無しさん
13/09/21 12:11:45.90 .net
>>136
state machineやcontextで出来ないかな?

142:デフォルトの名無しさん
13/10/04 20:13:47.29 .net
話題は?

143:デフォルトの名無しさん
13/10/15 03:55:17.76 .net
管理者権限のPCでも
自分のホームディレクトリの下にLinuxのパッケージシステム作るのあったよね
apt-getとかemerge とかが動くやつ
あれだと自動で依存関係を解決してくれるね

144:デフォルトの名無しさん
13/10/17 00:44:09.84 .net
>>143
>管理者権限のないPCでも
>自分のホームディレクトリの下にLinuxのパッケージシステム作る

これの名前忘れてしまって検索しようがないのだけど
誰か知りませんか?

145:デフォルトの名無しさん
13/10/17 09:04:48.53 .net
cygwin
msys
mingw
bow
colinux
andlinux

146:デフォルトの名無しさん
13/10/28 01:08:25.00 .net
boost::iostreamsの自作フィルタとか需要あるのかね。

147:デフォルトの名無しさん
14/01/04 22:34:52.14 .net
使ってますかぁ

148:デフォルトの名無しさん
14/01/16 22:33:38.03 .net
最近、githubに以降したんだけれど、
今のところ公式から落としてくるのには、
各リポジトリのすべてをクローンしなきゃいけないの?
ライブラリ単位でリポジトリが分散したせいでやりづらくなっているんだが

149:デフォルトの名無しさん
14/01/16 22:38:47.63 .net
HEADだけ取れるだろ

150:デフォルトの名無しさん
14/01/17 00:47:20.36 .net
>>148
URLリンク(svn.boost.org)
> git clone --recursive git@github.com:boostorg/boost.git modular-boost >clone.log
> ...

151:デフォルトの名無しさん
14/01/17 08:45:45.19 .net
先生!
大変です。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:デフォルトの名無しさん
14/01/17 08:49:56.58 .net
std::size_t

153:デフォルトの名無しさん
14/01/17 09:32:38.42 .net
>>152
ありがとうございます。

どこに定義すればよいのでしょうか?
また、この原因はboostでしょうか?

154:デフォルトの名無しさん
14/01/17 09:41:52.32 .net
#include <cstddef>

155:デフォルトの名無しさん
14/01/18 03:22:07.38 .net
>>150
thx
SSHがめんどいのでHTTPSで落としたよ

156:片山博文MZ無能 ◆T6xkBnTXz7B0
14/02/23 00:53:10.90 .net
大変便利であるからしてage。

157:片山博文MZ無能 ◆T6xkBnTXz7B0
14/02/23 01:10:11.61 .net
【Boostのここがスゴい1】
ほとんどのライブラリがリンクなしで(#includeするだけで)使える。※但しインスコが必要
【Boostのここがスゴい2】
C++11以前の古いコンパイラでもboost::shared_ptrなどのスマートポインタが使える。

158:片山博文MZ無能 ◆T6xkBnTXz7B0
14/02/23 01:16:42.42 .net
【Boostのここがスゴい3】
Boost.multiprecisionで手軽に多倍長演算(非常に桁数の大きい演算)ができる。
【Boostのここがスゴい4】
古いコンパイラでもマルチプラットフォームでマルチスレッド対応が可能。

159:片山博文MZ無能 ◆T6xkBnTXz7B0
14/02/23 01:27:59.03 .net
……こんな感じで宣伝頼む

160:デフォルトの名無しさん
14/02/23 02:04:51.86 .net
【Boostのここがヒドい1】
バイナリがでかくなる
【Boostのここがヒドい2】
コンパイルエラーがいみふ

161:デフォルトの名無しさん
14/02/23 02:33:44.40 .net
awkは、2^200を計算できないのですが、
bcコマンドは出来ます

Pythonは、2の1万乗、つまり3千桁も計算できる
Rubyは、2の千乗、つまり300桁も計算できる

162:デフォルトの名無しさん
14/02/23 03:05:21.75 .net
【Boostのここがヒドい3】
boostインストールしたらboostフォルダだけで2GB超える

163:デフォルトの名無しさん
14/02/23 05:02:10.89 .net
必要なライブラリだけビルドしろよ

164:片山博文MZ無能 ◆T6xkBnTXz7B0
14/02/23 12:29:25.59 .net
MiniBoost
URLリンク(dl.dropboxusercontent.com)

Boostを49.5 MBに圧縮!!! USBメモリに保存できる!!!

165:デフォルトの名無しさん
14/02/23 12:53:27.18 .net
>>162
ネタだと言ってくれ・・・

166:デフォルトの名無しさん
14/02/23 13:09:57.18 .net
Boostつかうと一気に実行ファイルサイズが10倍に?!

167:デフォルトの名無しさん
14/02/23 15:22:51.97 .net
>>165
色んなオプションでコンパイルできるから…全パターンのコンパイルしたら結構でかいんじゃね?
流石に試したことはないけど…

168:デフォルトの名無しさん
14/02/23 15:31:39.81 .net
>>163
自分で使う気が無くても
このライブラリをつかうにはboostを使ってね♪ってのがあるだろ
boost感染と呼ぶべきか

169:デフォルトの名無しさん
14/02/23 15:47:45.36 .net
1.56.0まだかよ

170:デフォルトの名無しさん
14/02/23 15:49:02.43 .net
>>164
ウィルス?

171:デフォルトの名無しさん
14/02/24 02:02:22.57 .net
>>168
それを言うならboost汚染ではあるまいか…

172:デフォルトの名無しさん
14/02/24 10:55:40.25 .net
contaminated population

173:デフォルトの名無しさん
14/02/25 02:05:03.94 .net
>>163
車輪の再発明を避けることを徹底すると必要なライブラリがどんどん膨らんでいくよ
便利そうだからと安易にライブラリに追加してると、便利そうだからと安易に利用することになって
依存関係が発生してしまう

174:デフォルトの名無しさん
14/02/25 02:27:52.42 .net
そんなことは必要なライブラリが膨らんでから考える
いちいちzlibなりboost::serializeなり自作してられっか

175:デフォルトの名無しさん
14/02/25 07:43:30.82 .net
>>174
>>173はboost自体の話。
いちいち必要なライブラリだけビルドするのは面倒だし、依存関係で枝葉のライブラリしか
削れないなら全部ビルドした方がましって感じ。

exeだとDLL版でもいいんだけど、プラグインdllだとexeと同じパスに置かれないことも多いし
32/64bitの区別の問題とかもあって暗黙的なDLLロードに期待できないんだよね。
だからboostのバイナリをDLして使うより手間がかかるからboost自体を巨大化されるのは困る。

176:デフォルトの名無しさん
14/02/25 08:06:45.55 .net
URLリンク(sites.google.com)
依存がどうしたって?

177:片山博文MZジェバンニ ◆T6xkBnTXz7B0
14/03/10 14:38:05.36 .net
VC11だと、bootstrappingが必要か。。。
時間がかかりそうだな。。。

178:デフォルトの名無しさん
14/06/08 10:51:05.92 j31/DBL2.net
数年ぶりに戻って来たんだけど、今はLets Boostみたいな日本語で解説してるサイトは無いの?
付属のdocだと情報量が多すぎて疲れる・・・

179:デフォルトの名無しさん
14/06/08 13:13:45.71 1X5GviKQ.net
頑張って英語読もう
コードもついてるしそんな難しくないだろう

180:デフォルトの名無しさん
14/06/08 13:29:42.85 AzMImLSv.net
boostなくても標準C++で間に合うようになって来てる

181:デフォルトの名無しさん
14/06/13 14:51:21.47 UdQiVjj6.net
逆にまだboostじゃないとダメな機能ってどんなのがあるんだろう?

182:デフォルトの名無しさん
14/06/13 15:05:29.84 LHr3GtlM.net
property_treeとかserializeとか

183:デフォルトの名無しさん
14/06/13 16:38:51.85 ooUx6NQl.net
format ってどうなった?

184:デフォルトの名無しさん
14/06/20 01:10:34.79 Lg1rjNq/.net
boost使い始めたのはgregorianのためだったっけな一番最初は
その後scoped_arrayとかも使い始めた

185:デフォルトの名無しさん
14/06/22 22:12:29.06 16+BG254.net
怒らずにマジレスしてほしいんだけど progress_display に代わるものってあるの?

186:デフォルトの名無しさん
14/06/24 02:24:02.69 tub1q0dy.net
stdoutでいいんじゃね?

187:デフォルトの名無しさん
14/08/08 10:09:29.41 bvhG3beM.net
Version 1.56.0
August 7th, 2014 16:08 GMT

188:デフォルトの名無しさん
14/08/11 14:29:54.99 jlzj25iu.net
Boost初心者です。
URLリンク(qiita.com)
を参考に
 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  
もビルドするには、どうすればよいでしょうか?

189:デフォルトの名無しさん
14/08/12 01:45:55.26 O5xDEFJj.net
あてずっぽだけどmt-sってlink=staticなb2の生成物だと思うから
link=sharedのときの生成物をよく探せばいいんでないの

190:デフォルトの名無しさん
14/08/12 02:15:08.53 oYrFzOtb.net
link=static runtime-link=shared
がないからじゃね

191:デフォルトの名無しさん
14/08/12 12:56:31.79 oLoknUBV.net
>>189,191
レス有難うございました。
その通りでした。
link=static runtime-link=static
link=shared runtime-link=shared
以外に、
link=static runtime-link=shared
link=shared runtime-link=static
もビルドしたら解決しました。

192:デフォルトの名無しさん
14/08/13 11:16:20.84 aA3WCwQl.net
copy して rename だけで良かったんじゃないかという気はする

193:デフォルトの名無しさん
14/08/16 00:19:18.57 datmhcQU.net
それじゃだめなんよ
libcとdll混在でえらいことなる
コンパイラオプションでstatic版、dll版どっちリンクするか決定してるから

194:デフォルトの名無しさん
14/08/22 20:53:28.55 GZiwALqE.net
ええっと、WindowsのDLLの仕様上、
link=sharedとruntime-link=staticの組み合わせは基本マズイはず。
.exe側と .dllが 別々に __FILE__ 構造体を保持したりして、
それを狙っている場合はいいが知らずにstatic変数のポインタを
やり取りするとクラッシュすると聞いた。
その逆も同様だと思った。

195:デフォルトの名無しさん
14/08/23 02:33:52.06 830xsgTR.net
テンプレの関連書籍買おうと思うんだけど
内容はどんな感じなの?
Boostのホームページに書いてる以上のこと書いてる?
あとテンプレ貼られてから2年経つけど2年の間に新しく関連書籍出た?

196:デフォルトの名無しさん
14/08/23 04:37:08.56 ZWPa2xFI.net
>>194
一番まずいのはHeap破壊
libcのmallocで確保したポインタをmsvcrt.dllのfree呼び出す、あるいはその逆するとHeapがおかしくなる

197:デフォルトの名無しさん
14/08/24 01:03:29.49 z6SsqQq7.net
>>194,197
憶測で語るのはそこまで。不具合が実在するなら公式tracにバグ報告して貢献したほうがいい。

198:デフォルトの名無しさん
14/08/24 01:06:01.45 dSaHZUjz.net
不具合というか仕様だろ
知らんと嵌るが

199:デフォルトの名無しさん
14/08/24 01:57:11.06 z6SsqQq7.net
>>198
確かに >>196 のHeap破壊の件はboostと関係ないね。失礼。
exe側の標準ライブラリリンク方法を変えて対処すべきことを、側聞だけで基本マズいとか断言する >>194 みたいなの困るわ。

200:デフォルトの名無しさん
14/08/24 17:02:34.37 zFKb4A2a.net
いや、exe側のリンク方法を変えてもポインタを渡したらアウト、対処できない。
exeの作成者側が仕様を理解していれば、それで動作させることも可能だが、
一般的にそんな用途はない。
ライブラリのバージョンの特殊なテストとか普通にはない状況。

201:デフォルトの名無しさん
14/08/24 17:12:05.16 mYuQxuS2.net
結局>>192はやっちゃだめってこと

202:デフォルトの名無しさん
14/08/24 21:50:12.26 zFKb4A2a.net
ついでに
逆にlink=staticとruntime-link=sharedの場合だと、
利用者が常に一つの.exeを作る場合には良いが
利用者も.dllを書いて、そちら側からもboostを利用する場合、
同様の問題が発生するので×

そうすると一般用途にビルドを行う場合
link=static runtime=static
link=shared runtime=shared
この2つのパターンだけ用意すれば良いと思われる

203:デフォルトの名無しさん
14/08/25 18:17:09.07 K+Y1EV40.net
(´-`).oO (なんでboostとC標準のリンクオプションがわざわざ別々になってると思う?)

204:デフォルトの名無しさん
14/08/25 18:52:52.89 34Z9Wbr7.net
正直link=とruntime-link=のそれぞれの意味がわかってないけど、
とりあえずlink=staticのしか使ったことない。
runtime-linkのほうはMSVCのコード生成設定に合わせるけど。

205:デフォルトの名無しさん
14/08/25 19:50:29.57 TLgrT9xd.net
>>203
解説よろしくお願いします。

206:デフォルトの名無しさん
14/08/25 20:13:31.67 S+r49QAC.net
Express版の2010だとEula.txtが付属してないので、
/MDだと著作権的にグレーになってしまう。
/MTでコンパイルしないと公開できないw

207:デフォルトの名無しさん
14/08/25 20:33:49.53 34Z9Wbr7.net
ていうかMSVCで普通にプロジェクト作って普通にインクルード&ビルドしたら
link=staticで作成されたファイル名のほうしか読みにいかなくない?
マルチスレッドDLLでもマルチスレッドでもdebugでもreleaseでも。

208:デフォルトの名無しさん
14/08/25 20:35:42.94 34Z9Wbr7.net
208はexeを作ったときの話。dllについては知らない。

209:デフォルトの名無しさん
14/08/25 21:07:00.41 S+r49QAC.net
BOOST_ALL_DYN_LINKを定義しないと, libboost_の方にリンクする。
定義するとboost_の方へリンクしてDLLを使用するようになる。

210:208
14/08/26 00:28:28.83 00zrwMl9.net
>>209
ありがとうございます。
BOOST_ALL_DYN_LINKなるキーワードがあったのですね。

211:デフォルトの名無しさん
14/08/27 03:36:26.18 6l9mfgq+.net
#pragma comment(linker, "/NODEFAULTLIB:libboost_~.lib")
ってやって必要なcppだけ本体と一緒にコンパイルリンクするのが一番楽

212:デフォルトの名無しさん
14/10/06 22:24:43.15 tIlHofLk.net
ネットワーク関係はpocoと比べてどうなの?

213:デフォルトの名無しさん
14/10/26 12:18:21.65 /US9w/Z3.net
Boost spirit qiの、grammarに設定するinherited attributeについて
どうしても分からない点があるので、質問します。

* ソースコードとエラーメッセージ全文 *
URLリンク(pastebin.com)

コンパイラは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に使用できる型の制約条件や、類似のコンパイルエラーとその対処方法をご存じであれば
教えていただきたく思います。

214:デフォルトの名無しさん
14/10/26 15:46:28.32 r2skli7n.net
VS2013のC++でBoost1.56を使っているのですが、どんなプロジェクトを作ってもビルドすると
  コンパイルされたクラスの テンプレート のインスタンス化
'std::streamsize boost::iostreams::detail::copy_operation<Source,Sink>::operator ()(void)'
 の参照を確認してください
みたいか警告がいつも数十行出るんですが、「参照の確認」とは何をどうすれば良いのでしょうか?

215:デフォルトの名無しさん
14/10/27 22:32:16.46 DoYepSGR.net
>>213
エラー以前になんかInherited attributesの使い方と使いどころを基本から間違っていないか?
ここの例を見る限り URLリンク(www.boost.org)
正規表現での後方参照みたいに一つのルール内でサブルールにマッチした結果によって
挙動を変えるルールを記述するときに使うものじゃないか?

216:デフォルトの名無しさん
14/10/28 00:29:16.37 uWcH6Wmu.net
>>215
レスありがとうございます。
なるほど、想定されている使い方はこういったケースなのでしょうか。
だとしたらそもそも今回の私がやろうとしていたことには不適切だったかもしれませんね。
(パースするごとに、inherited attributeに設定したインスタンスに情報を反映させたかった)
余計なことは考えず、普通に対応するようにします。

コードについてですが、この例を参考にしてすこし試したところ
要するにboost::phoenixなオブジェクトであれば渡せるようで
grammarのoperator()に渡す引数をphoenix::val(...)やref(...)で包めば
コンパイルが通ることがわかりました。まだ動作確認はしていませんが・・・
ともあれ、ありがとうございました。

217:デフォルトの名無しさん
14/10/30 00:07:58.69 lLBGJ4gC.net
>>213,217
いまさらだがわかった範囲で言っておくと

Inherited attributes に対する条件には
URLリンク(www.boost.org)

> 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 ではなくもちろん関数でもないから条件を満たさずエラーになる
>>216でやったように phoenix の val, ref でラップすれば function, f のほうで条件を満たすことができるのでエラーにはならない
ということだと思う

218:デフォルトの名無しさん
14/10/30 11:39:19.54 ImhG7AIb.net
>>217
詳しく調べていただきありがとうございます。
「immediate value」判定を行っている個所を確認して、std::stringが通った理由も納得できました。
というか、かなり制限がきつかったんですね・・・そりゃ通らないわけだ。

219:片山博文MZ次期CEO ◆T6xkBnTXz7B0
14/11/01 21:27:12.06 jtBHZTX6.net
property tree使ったら、XMLの入出力は楽勝や!

220:デフォルトの名無しさん
14/11/07 00:16:46.51 HXLLL8gC.net
当然っちゃ当然なんだけど
boost::functionとstd::functionって実装違うんだね・・・
boost::lambdaで作ったファンクタが、前者だと格納できて
後者だと格納できずにコンパイルエラーになるケースに遭遇したよ

221:デフォルトの名無しさん
14/11/11 09:50:08.64 Q0YP3r9c.net
その違いはコンパイラの違いや、そのC++STLが対応するバージョンにもよるな
VC++2013のstd::unordered_mapのキーに素直にtuple指定できないからboost::unordered_map使ったりしてる
いずれ指定できるようになったらstdに戻す

222:デフォルトの名無しさん
15/01/05 15:35:07.20 eKet1BcH.net
boost::unordered_mapのキーに生ポインタ入れるのはさすがにマズイよね?

223:デフォルトの名無しさん
15/01/05 15:39:30.18 8wARtoFz.net
問題ない

224:デフォルトの名無しさん
15/01/05 19:12:49.53 o8IVACxb.net
問題ないけどmapで扱わずメンバにすればと思った

225:デフォルトの名無しさん
15/01/05 21:30:21.14 X1Ja4Fny.net
valueにshared_ptr、keyにはその生ポインタっていうのは良く使ってるなぁ

226:デフォルトの名無しさん
15/01/06 01:03:54.45 oPiR2ldc.net
あ、特に問題はないのか。
何となくだけど、「生ポインタ入れたらヤバそう」って思い込んでたよ…

227:デフォルトの名無しさん
15/01/06 10:02:24.08 LjydeOaO.net
ナマポ

228:デフォルトの名無しさん
15/01/06 16:03:04.47 2r6Mr9Ml.net
目的によるわな。
キーとしては単なる整数だしな。

229:デフォルトの名無しさん
15/01/07 09:03:30.78 ZvIwm56v.net
生ポの開放時にキーも削除又は解放後は使用されないのなら特に問題無さそう

230:デフォルトの名無しさん
15/01/11 09:45:08.68 9tA14JDu.net
smart pointerのdeleterでキー削除すればいいと思うよ

231:デフォルトの名無しさん
15/01/21 17:56:52.67 jsrBE0pL.net
URLリンク(boost.cppll.jp) の文字化け問題っていつ治るの?
毎回EUCに切り替えるのめんどくせーんだけど

232:デフォルトの名無しさん
15/01/21 18:34:30.53 65s3laC/.net
10年前から放置されたHPに文句言うなよww

233:デフォルトの名無しさん
15/01/22 12:40:59.12 /jHS8Rgv.net
文字化けなおしたのが、githubにコピーされてるよ。
URLリンク(www.freeml.com)

URLリンク(boostjp.github.io)

234:デフォルトの名無しさん
15/02/01 22:32:38.38 0ZgW1UY4.net
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
のように出ています。
↓続く

235:デフォルトの名無しさん
15/02/01 22:33:18.14 0ZgW1UY4.net
sage忘れすみません
実はこのエラーに対面する前、bootstrapを実行するときに
'cl'は内部コマンドまたは外部コマンド操作可能なプログラムまたはバッチファイルとして認識されていません
というエラーが出まして、それを解決するために
URLリンク(blog.remu.biz)
このサイトを参考に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日ほど悩んで答えが出なかったので皆さんの力を借りさせてください。お願いします。

236:デフォルトの名無しさん
15/02/02 02:24:51.60 E0RD/vzJ.net
jamを別途インスコ

237:デフォルトの名無しさん
15/02/02 02:58:34.63 rg/FV5H5.net
>>234です。
すみません。初心者なものでjamというものが何を指しているのかわかりません。
bjam.exeならbootstrapの時にb2.exeと一緒に生成されています。
ぐぐるとboost-jamというものも見つかったのですが、これは古いバージョンのインストールに使うもの?のようでした。

238:デフォルトの名無しさん
15/02/02 08:01:38.26 GrIIWufd.net
>>235
スタートメニューにあるVS2012 x86 Native Tools コマンド プロンプトから
b2を呼んでるか?

239:デフォルトの名無しさん
15/02/02 13:05:41.10 trPfkB+8.net
>>238
VS2012開発者コマンドプロンプトから呼んでました。
改めてVS2012 x86 Native Tools コマンド プロンプトでビルドしてみたのですが、failed updatingと言われ、ビルドできませんでした。

240:デフォルトの名無しさん
15/02/02 14:13:46.69 trPfkB+8.net
>>234です。
どこでエラーメッセージが区切られているのかわからなかったため、読み飛ばしてしまってました。これが全文のはずです。
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を実行した時に生成されたもののようです。
これはどうすればいいのでしょうか?

241:デフォルトの名無しさん
15/03/02 00:54:18.08 Hwlu4opX.net
Visual Studioでboostを使う自作の
 Static.lib プロジェクト
を作って、そのライブラリを使う自作の
 Console.exe プロジェクト
でリンクして使う場合、Console.exeのプロジェクトの設定で
リンカー
 追加のライブラリディレクトリ: C:\.....\stage\Win32\lib
とすればリンク出来て無事に実行できました。
このリンカーの設定は、Static.libを使うプロジェクトを作ると(今の場合Console.exe)、必ずしておく必要がありますか?
できればStatic.lib側のほうの設定でboostのリンクもできるなら、Console.exe側でやる手間が省けるのですが。

242:デフォルトの名無しさん
15/03/03 16:54:35.92 AGpwHs5d.net
boostのGILって標準ではBMPファイル読み込めないの?
ぐぐって出て来たnew&nbsp;ioってのはまだboost申請中?みたいだけど、これ使っておけばいいのかな?

243:デフォルトの名無しさん
15/03/03 21:11:19.83 xvH8TFuD.net
io_newでBMP読めたけど、色深度が読込むファイルと合ってないと例外発生するよ

244:デフォルトの名無しさん
15/03/03 22:56:19.91 AGpwHs5d.net
>>243
結構面倒くさい仕様だな…
勝手にフォーマット変更とかしてくれると便利だけどさすがに贅沢か…

245:デフォルトの名無しさん
15/04/12 00:28:36.73 g4+PudFo.net
boost.computeって正式に採用される予定あるの?

246:デフォルトの名無しさん
15/04/21 22:30:19.44 y8VTcogt.net
boost.pythonってstatic linkしてもpythonxx.dllは必要?教えてエロいひと。

247:デフォルトの名無しさん
15/04/21 22:33:35.19 1EHStcFK.net
いいえ

248:デフォルトの名無しさん
15/04/22 12:34:31.91 7M6Z+AJz.net
Win7 64bitで
python3.4 32bit版インストール
link=static runtime-link=static address-model=32でboost.pythonビルド
includeパスとlibパスを指定して、MTにして
#define BOOST_PYTHON_STATIC_LIB
#include <boost/python.hpp>
で32bitアプリケーションをビルド
pythonインストールしてないPCだと、python34.dll missingになる
うーん。何か足りないものありますか?

249:デフォルトの名無しさん
15/04/22 16:27:50.57 d3SYYAgE.net
モチベ

250:デフォルトの名無しさん
15/05/01 01:58:47.03 0XV7vRP4.net
boostの名前をつけるルールを
行列計算の時だけ破って
行列を大文字のAとかXにしてるの良くみるのですが
行列だけは例外的にルール破っていいことになってるのでしょうか
大文字はテンプレート変数ですよね?

251:デフォルトの名無しさん
15/05/01 06:41:31.41 8Yyb98Ue.net
行列ならば大文字になるのもいたしかたない‥

252:デフォルトの名無しさん
15/05/24 00:54:33.50 8pBQ8Eyo.net
boostってちょっとはC++ができる人が作ってるライブラリですよね?
ビルド時になんであんなに警告がでるんですか?
もしかして素人さん?

253:デフォルトの名無しさん
15/05/24 12:38:51.82 MEnSJywT.net
いちいち警告気にしないのがプロ

254:デフォルトの名無しさん
15/05/24 16:29:54.52 YWYjkrfU.net
難しすぎて警告どころではないとか

255:デフォルトの名無しさん
15/05/24 16:53:29.63 LHOaqm0Y.net
警告を調べて見れば分かるぞ、素人さん

256:デフォルトの名無しさん
15/05/25 17:47:01.78 x3KPbf/f.net
警告を出す側にもリテラシーが求められている訳です

257:デフォルトの名無しさん
15/05/25 18:28:28.99 qa+JUMyM.net
リテラシってなーに

258:デフォルトの名無しさん
15/05/25 20:07:15.35 Fk7XkuNr.net
2チャンをやってはいけません、ということ

259:デフォルトの名無しさん
15/05/25 20:16:21.95 qa+JUMyM.net
なるほどー

260:デフォルトの名無しさん
15/06/06 11:53:50.32 DXSt7rl7.net
boostって結構遅いんだな

261:デフォルトの名無しさん
15/06/06 11:56:08.52 +rQgIJZi.net
コンパイル時間をboostしてくれます

262:デフォルトの名無しさん
15/06/06 12:23:05.22 DXSt7rl7.net
コンパイル時間はどうでもいいです。
コンパイルなんて休憩時間くらいしかやらないから・・・

263:デフォルトの名無しさん
15/06/06 12:31:03.72 htxI56Um.net
コンパイル時間のことでないとすると
どのライブラリが何と比べてどれくらい遅いのかを書かないと

264:デフォルトの名無しさん
15/06/06 12:33:52.43 DXSt7rl7.net
ublasのvectorが自前で作ったものよりも

265:デフォルトの名無しさん
15/06/06 12:37:12.25 b3bO68kx.net
boostって実行時も遅いよな

266:デフォルトの名無しさん
15/06/06 12:52:10.14 htxI56Um.net
そうか大変だな

267:デフォルトの名無しさん
15/06/06 13:14:38.58 b3bO68kx.net
てかもう使ってないし

268:デフォルトの名無しさん
15/06/06 13:16:04.99 +rQgIJZi.net
そうかよかったな

269:デフォルトの名無しさん
15/06/06 15:54:55.27 sNpvOYgU.net
poco使え

270:デフォルトの名無しさん
15/09/02 17:09:56.87 DQQjJ9NG.net
コンパイルは遅い

271:デフォルトの名無しさん
15/11/03 21:27:24.75 hk+PiOLT.net
使ってますか

272:デフォルトの名無しさん
15/11/03 21:42:20.64 i0g4PCT9.net
Boostがあれば何でもできる

273:デフォルトの名無しさん
15/11/04 11:14:56.51 tuc/GHuH.net
1 2 3 だー

274:.パンティーガァル
15/11/17 21:19:23.78 s4bNHyHx.net
一時は随分持て囃されたようだが
コレもすっかりネタライブラリと化したなw

275:デフォルトの名無しさん
15/11/19 01:09:18.93 0U7CT6+W.net
ネタかどうかはともかく、PCのアプリ開発がビジネス的においしくないから
国内ではもっぱらプログラム廃人(w)の道具でしかない

276:デフォルトの名無しさん
15/12/12 07:43:19.75 D8DPAl+5.net
コンパイルがだるいのであまり使いたくないが、シリアライゼーションとファイルシステムは使いたいんだよな

277:デフォルトの名無しさん
15/12/12 08:27:40.06 Jcuermv/.net
nugetにあるじゃん

278:デフォルトの名無しさん
15/12/18 23:28:22.35 vCtvI+uE.net
Version 1.60.0
URLリンク(www.boost.org)

279:デフォルトの名無しさん
15/12/19 11:58:40.26 O2ZUrLIw.net
っとコンパイルしてみようっと

280:デフォルトの名無しさん
15/12/19 12:40:41.91 P/E9W26M.net
Lapackもっと気持ちよく使えるようにして欲しいなあ

281:デフォルトの名無しさん
16/01/18 05:50:39.36 mFzGs0rQ.net
boost::geometryって2Dは充実してきてるけど、3Dへの拡張は現状どんな感じですか?
2010年くらいに将来やる予定って開発者が言ってた気がするけど

282:282
16/01/19 00:15:43.99 4raSQRby.net
フォーラム見たら3Dへの拡張は全体的にまだまだって感じですね
せっかくトレイト使ってジェネリックにやってるんだから早く実装して欲しい・・・

283:デフォルトの名無しさん
16/01/20 22:24:02.62 KeJuY5Mf.net
boost graphのドキュメントがクソ

284:デフォルトの名無しさん
16/04/05 02:48:34.34 2X2ng6yq.net
age

285:デフォルトの名無しさん
16/04/21 22:40:40.88 0L9uK1O2.net
parallel BGLのドキュメントがくそ

286:デフォルトの名無しさん
16/05/11 16:53:35.32 GzlL/1jH.net
つか、boost自体がくそ

287:デフォルトの名無しさん
16/05/11 17:04:40.20 CRgs0nLf.net
じゃもっといいものにしてください

288:デフォルトの名無しさん
16/05/13 00:38:47.56 gIaucaE3.net
read_iniでファイルを読み込んだ時
セクションが1つも設定されていない場合にエラーを出力したいのですが
セクションだけを取得する方法はありますか?
漠然とした質問ですみません。
boostのバージョンは1.54です

289:デフォルトの名無しさん
16/05/13 01:16:17.32 +/HM4ABC.net
>>288
read_iniの第2引数にptree渡せばiniファイルの中身取ってこれる
URLリンク(stackoverflow.com)
ところで、ホントにセクション全部取ってくる必要あるの?
空のファイルかどうかやファイルの存在有無のチェックでよかったりしない?

290:デフォルトの名無しさん
16/05/13 07:24:40.50 Vn8cSOwV.net
>>289
ID変わりました。>>288です。
ご回答ありがとうございます
ファイルの中身が、str=100だけなど
セクション名が無く、キーとキー値しかない場合
にもエラーを出力したかったので感謝です。

291:デフォルトの名無しさん
16/05/13 14:15:20.29 Vn8cSOwV.net
また質問ですみません。
iniファイルにセクション名のみ書かれている場合にエラーを出力したいのですが
>>289の方法でやってもセクション名を取得出来ませんでした。read_iniで確認するには
どうすればいいでしょうか?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch