[過去ログ] Boostを語れゴラァ part3 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
78: 2006/10/10(火)23:31 AAS
1.34て今年中には出るのか!?
79
(1): 76 2006/10/11(水)12:53 AAS
>77さん
よろしければ その時のBOOSTのインストール方法をお教えいただけますか?
80: 2006/10/11(水)19:00 AAS
>>68
というか、「出来ないんじゃないか」と考える理由の方がわからんが?
81: 73 2006/10/11(水)20:35 AAS
あれから、ワイド文字を使わないシリアライズはできるようになりました
しかし、wchar_t文字列のシリアライズコードを書いてみたのですが動作しません
コードは25行なんですが、コードに関する質問は
質問スレのほうに書いたほうがよいでしょうか
82: 2006/10/11(水)20:37 AAS
ここでしなかったらスレが無駄過ぎる
83
(1): 73 2006/10/11(水)20:47 AAS
そうですね、では

現在、コンパイルすると次のエラーがでます
C2027: 認識できない型 'boost::STATIC_ASSERTION_FAILURE<x>' が使われています
↑コンパイル時の展開関係などがわかるようなデバッガがほしい・・

以下コード。
#include <tchar.h>
#include <locale>
#include <iostream>
//#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_woarchive.hpp>
//#define BOOST_LIB_NAME boost_serialization
#define BOOST_LIB_NAME boost_wserialization
#include <boost/config/auto_link.hpp>

class test{
 wchar_t* str;
 template <class Archive>
 void serialize(Archive& ar, const unsigned int version){
  ar & str;
 }
 test(){_tcscpy_s(str,(sizeof(_T("TEST"))+1)*2,_T("TEST"));}
};
int main(){
 test te();
 std::locale::global(std::locale("japanese"));
 boost::archive::text_woarchive oa(std::wcout);
 //boost::archive::text_oarchive oa(std::cout);
 oa & te;
 return 0;
}
84: 73 2006/10/11(水)20:53 AAS
あ、メモリ確保してない^^;
85
(1): 2006/10/11(水)22:08 AAS
>>83
C2027ってことはVisual C++だろ。
出力の中から、エラーを起こしたテンプレートがどこから実体化されたのか辿れるようになっている。
86: 73 2006/10/11(水)22:21 AAS
>>85
まじすか、情報ありがとうございます!

あの後、組み込み型での実行は諦めてwstringバージョンを作りました
一応ちゃんと動作しますが、#elifディレクティブのほうは文字化けします

#include <tchar.h>
#include <string>
#include <iostream>
#include <fstream>
#include <locale>
#include <boost/archive/text_woarchive.hpp>
#include <boost/archive/text_wiarchive.hpp>
#include <boost/serialization/string.hpp>
#define BOOST_LIB_NAME boost_serialization
#include <boost/config/auto_link.hpp>
87: 73 2006/10/11(水)22:23 AAS
class Test{
public:
 Test(std::wstring s):str(s){};
 std::wstring str;
private:
 friend class boost::serialization::access;
 template<class Archive> void serialize(Archive& ar, const unsigned int version){
  ar & str;
 }
};

int main(int, char**){
 std::wcout.imbue(std::locale(""));
 Test te(_T("日本語文字列の入力テスト"));
#if 1
 std::wofstream ofs(_T("out.txt"));
 boost::archive::text_woarchive oa(ofs);
 oa & te;
 ofs.close();
 std::wifstream ifs(_T("out.txt"));
 boost::archive::text_wiarchive ia(ifs);
 ia & te;
 ifs.close();
 std::wcout << te.str << std::endl;
#elif 1
 boost::archive::text_woarchive ar(std::wcout);
 ar & te;
#endif
 return 0;
}
88: 77 2006/10/11(水)22:23 AAS
>>79
まずはbjam.exeをゲットしてboostのフォルダに入れておく。
それから、次のようなバッチファイルを作って、実行。

cd "boostのフォルダ"
set INCLUDE=STLportのヘッダのフォルダ;%INCLUDE%
set LIB=STLportのライブラリのフォルダ;%LIB%
call "C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat"
bjam -sTOOLS=vc8_0 --prefix="ライブラリの生成先フォルダ" install

深くは使ってないんで、完璧にうまくいってるかは分からないけど。
89
(2): 76 2006/10/12(木)13:23 AAS
77さん書き込みありがとうございます。
その方法でやってみるとBoostとSTLportがVC8上で共存できませんでした。

>bjam -sTOOLS=vc8_0 --prefix=
ではなく
bjam -sTOOLS=vc8_0-stlport --prefix=
が公式HP上で出るのを待つしかないのでしょうか??
90
(1): 2006/10/12(木)15:28 AAS
>>89
ぐぐったらでてきた
外部リンク:d.hatena.ne.jp
91: 77 2006/10/12(木)18:42 AAS
普通に使えてるけど……
92: 2006/10/12(木)20:51 AAS
もはやboost無しでは生きていけない。
cygwinにboostのパッケージが用意されていて助かった。
93
(1): 2006/10/12(木)21:01 AAS
じゃぁ死ね
94: 2006/10/12(木)21:07 AAS
>>93
何だとゴルァ!
95
(3): 2006/10/12(木)21:32 AAS
C++をどっぷりやってる人のblogとかは
boost使ってない事が無いな
96: 2006/10/12(木)21:36 AAS
boost禁止のプロジェクトにアサインされて死ねばぁ
97: 2006/10/12(木)21:58 AAS
つうかboostOKのプロジェクトなんてそうないだろ
98
(1): 2006/10/12(木)22:02 AAS
>>95
んなこたない。boost使ってない奴はC++にどっぷりじゃないと思ってるだけだろ
99: 2006/10/12(木)23:26 AAS
>>98
つまり>>95にとって「C++どっぷり」と「boost使う」が同値なわけか
100
(2): 2006/10/12(木)23:30 AAS
C++に詳しい奴がboost使うと思ってるんだろ。
実際は逆なんだけどな。
101
(2): 2006/10/12(木)23:36 AAS
ああ、本当にC++に詳しい奴はBoostを作る、だからな。
102: 2006/10/12(木)23:37 AAS
>>100
逆っていうか、相関性はあまりない気が
詳しいかどうかじゃなくて、便利だから使うだけだしな
103: 2006/10/12(木)23:38 AAS
>>100-101
激しく同意
104: 2006/10/12(木)23:56 AAS
どっぷりというか魅せられた奴が多いとは思う
105
(1): 2006/10/13(金)00:10 AAS
>>95
アイディアとかは参考にするし、似たようなもの実装することもあるし、
既に似たようなもの作ってたりとかだなあ。
スレッドとかファイルシステムとかのライブラリって結局自前じゃないと
いろいろ融通が利かなくって、他人のはめんどくさい気がするんだよなあ。
ちょっとずれるけど、C++もCPANみたいにFTPとかXMLとか応用的なライブラリが
まとまって管理されたりするといいなあとか思うな
106: 2006/10/13(金)00:35 AAS
GILみたいになんでもかんでもboostに投げればいいんじゃないかな?
107: 2006/10/13(金)07:54 AAS
大したことない自前ライブラリ使ってるから投げられないと思われ
1-
あと 894 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.017s