Boost総合スレ part10 (385レス)
Boost総合スレ part10 http://mevius.5ch.net/test/read.cgi/tech/1347611669/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
187: デフォルトの名無しさん [sage] 2014/06/24(火) 02:24:02.69 ID:tub1q0dy stdoutでいいんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1347611669/187
188: デフォルトの名無しさん [] 2014/08/08(金) 10:09:29.41 ID:bvhG3beM Version 1.56.0 August 7th, 2014 16:08 GMT http://mevius.5ch.net/test/read.cgi/tech/1347611669/188
189: デフォルトの名無しさん [sage] 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 もビルドするには、どうすればよいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1347611669/189
190: デフォルトの名無しさん [sage] 2014/08/12(火) 01:45:55.26 ID:O5xDEFJj あてずっぽだけどmt-sってlink=staticなb2の生成物だと思うから link=sharedのときの生成物をよく探せばいいんでないの http://mevius.5ch.net/test/read.cgi/tech/1347611669/190
191: デフォルトの名無しさん [sage] 2014/08/12(火) 02:15:08.53 ID:oYrFzOtb link=static runtime-link=shared がないからじゃね http://mevius.5ch.net/test/read.cgi/tech/1347611669/191
192: デフォルトの名無しさん [sage] 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 もビルドしたら解決しました。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/192
193: デフォルトの名無しさん [sage] 2014/08/13(水) 11:16:20.84 ID:aA3WCwQl copy して rename だけで良かったんじゃないかという気はする http://mevius.5ch.net/test/read.cgi/tech/1347611669/193
194: デフォルトの名無しさん [sage] 2014/08/16(土) 00:19:18.57 ID:datmhcQU それじゃだめなんよ libcとdll混在でえらいことなる コンパイラオプションでstatic版、dll版どっちリンクするか決定してるから http://mevius.5ch.net/test/read.cgi/tech/1347611669/194
195: デフォルトの名無しさん [sage] 2014/08/22(金) 20:53:28.55 ID:GZiwALqE ええっと、WindowsのDLLの仕様上、 link=sharedとruntime-link=staticの組み合わせは基本マズイはず。 .exe側と .dllが 別々に __FILE__ 構造体を保持したりして、 それを狙っている場合はいいが知らずにstatic変数のポインタを やり取りするとクラッシュすると聞いた。 その逆も同様だと思った。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/195
196: デフォルトの名無しさん [sage] 2014/08/23(土) 02:33:52.06 ID:830xsgTR テンプレの関連書籍買おうと思うんだけど 内容はどんな感じなの? Boostのホームページに書いてる以上のこと書いてる? あとテンプレ貼られてから2年経つけど2年の間に新しく関連書籍出た? http://mevius.5ch.net/test/read.cgi/tech/1347611669/196
197: デフォルトの名無しさん [sage] 2014/08/23(土) 04:37:08.56 ID:ZWPa2xFI >>195 一番まずいのはHeap破壊 libcのmallocで確保したポインタをmsvcrt.dllのfree呼び出す、あるいはその逆するとHeapがおかしくなる http://mevius.5ch.net/test/read.cgi/tech/1347611669/197
198: デフォルトの名無しさん [sage] 2014/08/24(日) 01:03:29.49 ID:z6SsqQq7 >>195,197 憶測で語るのはそこまで。不具合が実在するなら公式tracにバグ報告して貢献したほうがいい。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/198
199: デフォルトの名無しさん [sage] 2014/08/24(日) 01:06:01.45 ID:dSaHZUjz 不具合というか仕様だろ 知らんと嵌るが http://mevius.5ch.net/test/read.cgi/tech/1347611669/199
200: デフォルトの名無しさん [sage] 2014/08/24(日) 01:57:11.06 ID:z6SsqQq7 >>199 確かに >>197 のHeap破壊の件はboostと関係ないね。失礼。 exe側の標準ライブラリリンク方法を変えて対処すべきことを、側聞だけで基本マズいとか断言する >>195 みたいなの困るわ。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/200
201: デフォルトの名無しさん [sage] 2014/08/24(日) 17:02:34.37 ID:zFKb4A2a いや、exe側のリンク方法を変えてもポインタを渡したらアウト、対処できない。 exeの作成者側が仕様を理解していれば、それで動作させることも可能だが、 一般的にそんな用途はない。 ライブラリのバージョンの特殊なテストとか普通にはない状況。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/201
202: デフォルトの名無しさん [sage] 2014/08/24(日) 17:12:05.16 ID:mYuQxuS2 結局>>193はやっちゃだめってこと http://mevius.5ch.net/test/read.cgi/tech/1347611669/202
203: デフォルトの名無しさん [sage] 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つのパターンだけ用意すれば良いと思われる http://mevius.5ch.net/test/read.cgi/tech/1347611669/203
204: デフォルトの名無しさん [sage] 2014/08/25(月) 18:17:09.07 ID:K+Y1EV40 (´-`).oO (なんでboostとC標準のリンクオプションがわざわざ別々になってると思う?) http://mevius.5ch.net/test/read.cgi/tech/1347611669/204
205: デフォルトの名無しさん [sage] 2014/08/25(月) 18:52:52.89 ID:34Z9Wbr7 正直link=とruntime-link=のそれぞれの意味がわかってないけど、 とりあえずlink=staticのしか使ったことない。 runtime-linkのほうはMSVCのコード生成設定に合わせるけど。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/205
206: デフォルトの名無しさん [sage] 2014/08/25(月) 19:50:29.57 ID:TLgrT9xd >>204 解説よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/206
207: デフォルトの名無しさん [sage] 2014/08/25(月) 20:13:31.67 ID:S+r49QAC Express版の2010だとEula.txtが付属してないので、 /MDだと著作権的にグレーになってしまう。 /MTでコンパイルしないと公開できないw http://mevius.5ch.net/test/read.cgi/tech/1347611669/207
208: デフォルトの名無しさん [sage] 2014/08/25(月) 20:33:49.53 ID:34Z9Wbr7 ていうかMSVCで普通にプロジェクト作って普通にインクルード&ビルドしたら link=staticで作成されたファイル名のほうしか読みにいかなくない? マルチスレッドDLLでもマルチスレッドでもdebugでもreleaseでも。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/208
209: デフォルトの名無しさん [sage] 2014/08/25(月) 20:35:42.94 ID:34Z9Wbr7 208はexeを作ったときの話。dllについては知らない。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/209
210: デフォルトの名無しさん [sage] 2014/08/25(月) 21:07:00.41 ID:S+r49QAC BOOST_ALL_DYN_LINKを定義しないと, libboost_の方にリンクする。 定義するとboost_の方へリンクしてDLLを使用するようになる。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/210
211: 208 [sage] 2014/08/26(火) 00:28:28.83 ID:00zrwMl9 >>210 ありがとうございます。 BOOST_ALL_DYN_LINKなるキーワードがあったのですね。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/211
212: デフォルトの名無しさん [sage] 2014/08/27(水) 03:36:26.18 ID:6l9mfgq+ #pragma comment(linker, "/NODEFAULTLIB:libboost_〜.lib") ってやって必要なcppだけ本体と一緒にコンパイルリンクするのが一番楽 http://mevius.5ch.net/test/read.cgi/tech/1347611669/212
213: デフォルトの名無しさん [] 2014/10/06(月) 22:24:43.15 ID:tIlHofLk ネットワーク関係はpocoと比べてどうなの? http://mevius.5ch.net/test/read.cgi/tech/1347611669/213
214: デフォルトの名無しさん [sage] 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 attribut
eに使用できる型の制約条件や、類似のコンパイルエラーとその対処方法をご存じであれば 教えていただきたく思います。 http://mevius.5ch.net/test/read.cgi/tech/1347611669/214
215: デフォルトの名無しさん [sage] 2014/10/26(日) 15:46:28.32 ID:r2skli7n VS2013のC++でBoost1.56を使っているのですが、どんなプロジェクトを作ってもビルドすると コンパイルされたクラスの テンプレート のインスタンス化 'std::streamsize boost::iostreams::detail::copy_operation<Source,Sink>::operator ()(void)' の参照を確認してください みたいか警告がいつも数十行出るんですが、「参照の確認」とは何をどうすれば良いのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1347611669/215
216: デフォルトの名無しさん [sage] 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 正規表現での後方参照みたいに一つのルール内でサブルールにマッチした結果によって 挙動を変えるルールを記述するときに使うものじゃないか? http://mevius.5ch.net/test/read.cgi/tech/1347611669/216
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 169 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.808s*