[過去ログ] Boostを語れゴラァ part3 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
大したことない自前ライブラリ使ってるから投げられないと思われ
108: 2006/10/13(金)08:55 AAS
まあ新しいライブラリとかが出たときは、いつでも「なんでもできるし、
もう自分で作る必要はない」とか売り文句がついてくるんだけどさ。
OWLとかMFCもATLもそうだったけど、そういうのの上位に作るとさ、その
ライブラリの衰退と共に自分のコードも死んじゃうんだよね。
あと、自前はたいしたことなくていいんだよ。必要なときに必要な箇所を
実装すればいいんだからさ。
109: 2006/10/13(金)09:12 AAS
Boostはその特性からして、衰退するときはC++と同時だと思うが。
110: 2006/10/13(金)09:29 AAS
それはそうかもね。MFCとかよりはだいぶ標準よりだろうし。
まあ、boostの場合は衰退の前にもっと繁栄しないとかなと。。
111: 2006/10/13(金)10:17 AAS
今は、C++からの逃げ道としてC#やjavaが用意されている時代です。
112(1): 2006/10/13(金)12:16 AAS
>>101
boostの開発者は自分で使いたいから作ったんじゃないの?
自分では使わないけれど他人に使わせるために作ってるわけ?
105の言うとおりに同等品を既に作ってあるとかなら別だけど。
上下前次1-新書関写板覧索設栞歴
あと 889 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.009s