[過去ログ] Boostを語れゴラァ part3 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
700: 2007/02/02(金)23:37 AAS
boost::tuples::get<0>をbindしたいのですが
なぜかうまくいきません。
struct tmp_bi_op_t
{
double sum;
double operator()(double a ,double b)
{
sum +=a+b;
std::cout << "(" <<a << " " <<b << " " << sum << ")";
return a+b;
}
};
tmp_bi_op_t tmp_bi_op;
tmp_bi_op.sum=0;
std::vector<double > vec,vec2(2);
vec.push_back(2);
vec.push_back(1);
std::for_each(
boost::make_zip_iterator(
boost::make_tuple(vec.begin(), vec.begin())
),
boost::make_zip_iterator(
boost::make_tuple(vec.end(), vec.end())
),
boost::bind<void>( boost::ref( tmp_bi_op),
boost::bind(boost::tuples::get<0_1),
boost::bind(boost::tuples::get<1_1)));
std::cout << tmp_bi_op.sum;
701(1): 2007/02/08(木)22:12 AAS
こんにちは
vista+vc2005環境にboostを組み込みたいんですけどうまく行きません
何が原因なんでしょうか・・以下の手順で駄目でした
まずboost1_33_1とjamを落とし展開、jamをboostフォルダに移動し、
コマンドプロンプトで以下を実行
(boostのフォルダ以下略)>"C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
bjam -sTOOLS=vc-8_0 --prefix="C:\Program Files\Microsoft Visual Studio 8\VC" install
すると一見快調にビルドしてるようでしたが>>380氏と同様のエラーが頻発していて、
かつ「Unicodeで保存してください」ワーニングも量産されてました
6.0では組み込みが成功していたんですが、そのときコンパイラに組み込んでいた
(VCのフォルダ)\INCLUDE\boost-1_33_1みたいなフォルダは生成されてませんでした
次に>>391のサイトにあるインストーラを試してみましたがこれも例のフォルダは見当たらず・・
ひょっとしてvc2005ではboostの組み込み方が違っていて
私は壮大な勘違いをしてるんでしょうか?
今日一日かけて調べてみましたが全然分かりません
どうかよろしくお願いしますm(_ _;;)m
702(2): 2007/02/08(木)23:22 AAS
>>701
391さんのお任せのやつなら、
VC8.0用を指定して展開位置を指定するとそこににboost-1-33-1のディレクトリが出来ているので、
その中にboostがあるから、自分のプロジェクトのインクルードディレクトリに追加指定すれば
よいかと思いますけど。リンク対象のライブラリ本体はlibの中にバイナリが入ってます。
VCのINCLUDEに入れたければ、boostフォルダごとコピーすれば使えるのはないですか?
VCのLIBにもlibの中身をコピーして。
見当違いでしたら、すみません。
703(1): 2007/02/09(金)19:15 AAS
>>702
レスありがとうございます。
それでいいんですね、VC6.0でいけてたときは自動でVC以下にフォルダが
できてたような気がしたので、てっきり失敗してるのかと思ってました。
で、プロジェクトにインクルードとライブラリのフォルダを追加したのですが・・・
どうやらboostを認識してるようですがまたもや意味不明のエラーが多量にorz
SP1適用もなんかうまくいってないようなのでもう一度よく調べて出直してきます
704: 2007/02/09(金)19:41 AAS
公式サイトのゲッティング スタートからvc8.0のリンクから飛んだ先にEEのときがある
規制中なので携帯からリンク貼れね
705: 2007/02/09(金)19:55 AAS
>>702
コピーしなくてもいいだろ。
706: 2007/02/09(金)20:02 AAS
ビルドしたboostフォルダは1GB超えるからな
707: 2007/02/10(土)21:11 AAS
C++の標準ライブラリになるまでは様子見だな。
708: 2007/02/10(土)22:22 AAS
Boostがまんま標準化されると思ってる奴がまだいるのか
709: 2007/02/10(土)22:45 AAS
だから様子見なんだろ
710: 2007/02/10(土)23:58 AAS
>>703
俺は、C直下にboost_1_33_1のフォルダ入れて
VS2005std使ってて
VC++のインクルードディレクトリにC\boost_1_33_1
ライブラリファイルフォルダにC\boost_1_33_1\lib
って設定したら、問題なく使えてる。
711: 2007/02/11(日)20:27 AAS
boostのリビューアー募集してるね
712: 2007/02/13(火)13:33 AAS
Xpressive の人のライブラリか?
何かスゲーな。
713(2): 2007/02/18(日)00:37 AAS
serializationでshared_ptrをシリアライズしようと思ってるんですけど訳分からんです。
とりあえずただの参照でテストしてみたら
unregistered_classが発生したので調べたとおりに
BOOST_CLASS_EXPORT(Derived);
を入れたら今度はunregistered_castが発生したのでいろいろ調べて
boost::serialization::void_cast_register<Derived, Base>(0, 0);
を入れたらただの参照ならシリアライズできるようになりました。
これを今度はshared_ptrに入れてみようかと思ったら
またもやunregistered_classが発生しました。
どうやらsp_counted_base_implとかいうのが絡んでるようで
いろいろ試してみたのですがなかなかうまくいきません。
boost_132::shared_ptrとかいう中途半端なものもあるみたいですけど
これはもしかしたら仕様策定中ですか?
714: 713 2007/02/19(月)18:24 AAS
すいません。抜けてました。
派生クラスをベースクラスのポインタでシリアライズしたいのです。
バージョンは1.33.1です。
715: 2007/02/21(水)18:45 AAS
Accumulatorsの仕様がもう一回変わるとかいってるのですが
もう自分のプログラムにいれちゃったよ
716: 2007/02/22(木)10:40 AAS
TR1、TR2、C++0xとboostの主機能が取り込まれるのを期待しているが、
実際C++0xが2010年位にできたとして、実際主なコンパイラがサポートしだすのは
いつになるんだろう。
GCCは期待できるとして、次期Visual C++で何も動きがないとすると、
結局今後5年くらいはshared_ptrつかうにもboostのお世話になったりして。
1_34いつになるのかなぁ・・・。
717: 2007/02/22(木)10:57 AAS
規格殺すにゃ刃物はいらぬ
MSのサポートがなけりゃいい
718(1): 2007/02/22(木)11:05 AAS
つか、MSがその頃までC++をサポートしてるかどうか
719: 2007/02/22(木)12:26 AAS
今となっては TR1,TR2 以外のライブラリも増えたんで主機能という風でもないような。
C++0x 後にゃ、今度はその新機能を使いまくりのライブラリが作られるだろうし。
720: 2007/02/22(木)14:13 AAS
>>718
ドライバとか、どうしてもC/C++が必要な領域もあるだろうから、
当分はVisualC++無くならないと思う。たぶん。
721: 2007/02/22(木)14:17 AAS
いずれはドライバも C# の unsafe 使って書いてくれとか言われるのかなw
722: 713 2007/02/23(金)19:57 AAS
どうにか自己解決しました。
デバッグのためのコードが邪魔してたみたいです。
スレ汚しすいませんでした。
723(1): 2007/02/25(日)01:32 AAS
以前スレで紹介されていたBoostのインストーラーを使いセットアップし、regexを使ってソースを書いたところ、Boost側のソースで
boost\regex\v4\regex_raw_buffer.hpp(177) : error C2661: 'operator new' : 3 個の引数を伴うオーバーロードされた関数はありません。
boost\regex\v4\perl_matcher_non_recursive.hpp(99) : error C2059: 構文エラー : '*'
というエラーが出たんですが、どうすれば直るんでしょうか?
コンパイラはVC++2005Expressです。
724: 723 2007/02/26(月)23:31 AAS
自己解決。
stdafx.hで
#include <boost/regex.hpp>
すればOKだった。
725: 2007/02/26(月)23:58 AAS
boostって何で流行らないの?糞だから?
726: 2007/02/27(火)00:06 AAS
流行ってると思うけど
727: 2007/02/27(火)08:26 AAS
俺だけ取り残されてるわけじゃないんだ! という
必死の念仏でしょう。
728: 2007/02/27(火)14:38 AAS
常に最新の boost を使いたい場合は、
CVS から定期的に取って来て自動的にビルド、
エラー無ければ直前のバージョンと入れ替え、
というようなシステムを自前で用意しないとダメ?
PHP の PEAR のようにリポジトリから
最新バージョンを持ってきてくれると便利なんだが。
って、スクリプト言語の手軽さと比較するほうが間違いか。
729(1): 2007/02/27(火)21:30 AAS
Visual Studio用にバイナリで配ってない時点で、流行ってないことは明らかだろ。
上下前次1-新書関写板覧索設栞歴
あと 272 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s