[過去ログ]
Boostを語れゴラァ part3 (1001レス)
Boostを語れゴラァ part3 http://echo.5ch.net/test/read.cgi/tech/1158991211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
503: デフォルトの名無しさん [sage] 2006/12/24(日) 17:51:43 ublas今試してるんだけど、 VC++2005でboost1.33_1だとsparse_matrixとsparse_vectorは定義されていないと怒られてしまう。 matrix_sparse.hppとvector_sparse.hppはきちんとインクルードしているんだけど、なぜに? http://echo.5ch.net/test/read.cgi/tech/1158991211/503
504: デフォルトの名無しさん [sage] 2006/12/24(日) 18:41:52 しかも、mat[i][j]とかで行列の要素にアクセスするとか、lu_factorizeもコンパイルエラー。なんでやろ・・・。 http://echo.5ch.net/test/read.cgi/tech/1158991211/504
505: デフォルトの名無しさん [sage] 2006/12/24(日) 18:49:16 エラーメッセージも張らずに日記かよ。いい加減にしろ http://echo.5ch.net/test/read.cgi/tech/1158991211/505
506: デフォルトの名無しさん [sage] 2006/12/25(月) 13:27:53 >>504 mat[i][j]の書き方はできなくなった 今は mat(i,j) http://echo.5ch.net/test/read.cgi/tech/1158991211/506
507: デフォルトの名無しさん [sage] 2006/12/25(月) 13:47:21 Boost.Python でPythonから呼ぶようにした関数って Cとして呼ぶよりも処理が遅くなったりするの? http://echo.5ch.net/test/read.cgi/tech/1158991211/507
508: デフォルトの名無しさん [sage] 2006/12/26(火) 16:16:15 すみませんが、質問です。 Debian Sarge(EUC-JP)上でBoostのsplitなどをを使いたいのですが、ソースコー ドの文字列をEUC-JPにするとエラーになってしまいます。 #include <boost/algorithm/string.hpp> を含むソースで g++-3.4 -finput-charset=EUC-JP -fexec-charset=EUC-JP test05.cpp -o test05 を実行すると、 /usr/include/boost/function/function_base.hpp:23:25: failure to convert EUC-JP to UTF-8 このようなエラーに。 なお、ソースではwchar_t, wstringを使っています。 ソースをUTF-8に、オプションを-finput-charset=UTF-8 にすると動くように なりますが、やはりこれは不便です。 ソースをEUC-JPのままで使う方法はないでしょうか? http://echo.5ch.net/test/read.cgi/tech/1158991211/508
509: デフォルトの名無しさん [] 2006/12/26(火) 18:55:42 age http://echo.5ch.net/test/read.cgi/tech/1158991211/509
510: 508 [sage] 2006/12/26(火) 19:42:26 追記です。 コンパイル時のエラーは、こんな単純なソースでも起こってしまいます。 エラー再現には、ソースにワイド文字リテラルが含まれる必要はありません。 ------------------ #include <boost/algorithm/string.hpp> int main(void) { return 0; } ------------------ g++-3.4 -finput-charset=EUC-JP -fexec-charset=EUC-JP test06.cpp -o test06 ↓ /usr/include/boost/function/function_base.hpp:23:25: failure to convert EUC-JP \to UTF-8 EUC-JPではマルチバイト文字を使えということなのかもしれませんが、せっかく 対応しているのだからワイド文字を使いたいのです。 http://echo.5ch.net/test/read.cgi/tech/1158991211/510
511: デフォルトの名無しさん [sage] 2006/12/26(火) 19:56:55 >>510 boost/ref.hppがLatin-1で書かれているのが問題っぽいな。 ASCIIに直すようにお願いする位しか解決策が思いつかないが。 http://echo.5ch.net/test/read.cgi/tech/1158991211/511
512: 508 [sage] 2006/12/26(火) 20:20:55 >>511 ありがとうございます。 ref.hppの17行目でしょうか?そこを削除しても、やはり同じエラーが出ます。 他に気づいたことは、-finput-charset=utf8 などと書いても、「UTF-8に変換 できない」というエラーになることです。大文字ハイフン入りの「UTF-8」以外 受け付けません。 もしかしたらGCC自体が、テンプレートライブラリがUTF-8以外であることに対応 していないのでしょうか? http://echo.5ch.net/test/read.cgi/tech/1158991211/512
513: デフォルトの名無しさん [sage] 2006/12/26(火) 20:38:10 >>508 この辺を参考に http://search.gmane.org/?query=windows+unicode+gcc&group=gmane.comp.gcc.devel http://permalink.gmane.org/gmane.comp.gcc.devel/78542 >>512 インクルードファイルの中に他にも含まれていないか チェック。utility/enable_if.hpp とか $ iconv -l で使用できる文字コードは分かる http://echo.5ch.net/test/read.cgi/tech/1158991211/513
514: 508 [sage] 2006/12/26(火) 21:08:11 >>513 ありがとうございます。よく読んでいませんが、結局コードの変換ルールが問 題ということでしょうか。 grep -r Jaakko /usr/include/boost/ これで検索したところ66件ありました。他にもlatin-1の名前はあるかもしれ ません。さすがに直す気が失せました。 とりあえず、コンパイル前にiconvをかけることにします。いずれはUTF-8環境 に移行した方が良さそうです。 http://echo.5ch.net/test/read.cgi/tech/1158991211/514
515: 508 [sage] 2006/12/27(水) 00:25:09 http://permalink.gmane.org/gmane.comp.gcc.devel/78542 を読んで思ったのですが、どうやらUTF-8にすれば完全解決というわけではな いようですね。 g++ -finput-charset=EUC-JP こう書くと、GCCはソースファイルを、includeされるヘッダライブラリまです べてEUC-JPだとみなします。そしてそれを libiconv で UTF-8 に変換しよう とします。このとき(ヘッダファイルに)EUC-JPに含まれない文字コード (Latin-1など)があったらエラーになってしまいます。 g++ -finput-charset=UTF-8 (または-finput_charsetの指定なし) こう書くと、GCCはソースファイルを、includeされるヘッダライブラリまです べてUTF-8だとみなします。しかし今度は変換の必要がないので、libiconv は 呼ばれません。ヘッダライブラリも変換されません。 これで通常は問題はなくなるわけです。しかし、 ・ヘッダライブラリのエンコーディングがUTF-8でない。 ・ヘッダライブラリに wcha_tのリテラルがある。 (あまりないでしょうが、)この2つが同時に起こると、ライブラリは正しく 動作しません。 結局、すべてのヘッダファイルがUTF-8で統一されるか、Pythonのように各ソー スファイルにエンコーディングの宣言ができるようにしないと、完全解決とは 言えないようです。いずれも一ユーザにはどうしようもない話ですが。 Boostとあんまり関係なくてすみません。 http://echo.5ch.net/test/read.cgi/tech/1158991211/515
516: デフォルトの名無しさん [] 2006/12/27(水) 13:04:16 初心者的質問で申し訳ありません。 >>391でインストールするとき、最初に default variantsを選んでください って言われて、 Multithred Debug, DLL Multithred, DLL Multithred Multithred, static runtime Multithred, Debug, static runtime Single thred, static runtime Single thred, Debug, static runtime の中から選択させられるんですが、ノーパソ用ペンティアム3(1.13GHz)とノースウッドコアペンティアム4(3.2Ghz) の場合、どれを選べばいいんでしょうか。 マルチスレッデッィングとシングルスレッディング用CPUの違いくらいしか分からないので・・・ http://echo.5ch.net/test/read.cgi/tech/1158991211/516
517: デフォルトの名無しさん [sage] 2006/12/27(水) 14:35:53 Multithred/Single thredはCPUの問題じゃない http://echo.5ch.net/test/read.cgi/tech/1158991211/517
518: デフォルトの名無しさん [sage] 2006/12/27(水) 14:36:53 boostにはデバッグは特にいらないと思う。かなりでかくなるから。 DLLにするかどうかだけど、初心者ならスタティックでいいと思う。 あとはスレッドを利用するならマルチスレッド、しないならシングルスレッド。 シングルスレッドで速度を追求するならシングルスレッドだけど 通常はマルチスレッドでいいと思う。 http://echo.5ch.net/test/read.cgi/tech/1158991211/518
519: デフォルトの名無しさん [sage] 2006/12/27(水) 14:37:16 thred? http://echo.5ch.net/test/read.cgi/tech/1158991211/519
520: 518 [sage] 2006/12/27(水) 14:37:42 訂正 ×特に ○別に http://echo.5ch.net/test/read.cgi/tech/1158991211/520
521: 516 [] 2006/12/27(水) 14:45:12 ありがとうございます。 ではとりあえず Multithred, static runtime でインストールして使ってみます。 なお、参考までにお聞きしたいのですが、DLLにするとどういった使い方が可能になるのですか? http://echo.5ch.net/test/read.cgi/tech/1158991211/521
522: デフォルトの名無しさん [sage] 2006/12/27(水) 14:49:20 templateなlibraryにDLLもくそもないから気にするな。 http://echo.5ch.net/test/read.cgi/tech/1158991211/522
523: デフォルトの名無しさん [sage] 2006/12/27(水) 15:11:02 >>521 DLLの特長はここに書いてある。 http://e-words.jp/w/DLL.html 必要ならDLLを選ぶといいと思う。 http://echo.5ch.net/test/read.cgi/tech/1158991211/523
524: デフォルトの名無しさん [] 2006/12/27(水) 16:19:19 vc2005 sp1の現状 std;;wstring s = L"漢字"; // std::wcout << s << std::endl; //←ここをコメントアウトすると何もでなくなる std::wcout.imbue(std::locale("japanese") std::wcout << s << std::endl; //←出る std::locale::global(std::locale("C")); std::wcout << s << std::endl; //←出る よくわかんないけどMSの開発担当者はもっとまともなロケール実装者が来るまで正座な。 http://echo.5ch.net/test/read.cgi/tech/1158991211/524
525: デフォルトの名無しさん [sage] 2006/12/27(水) 16:22:23 boostとは直接関係ないけど、これ直ってないのか。なんのためのSPなんだか('A`) http://echo.5ch.net/test/read.cgi/tech/1158991211/525
526: デフォルトの名無しさん [sage] 2006/12/27(水) 20:10:24 >>524 とりあえずSTLport使っとくとlocale::globalの後に それぞれimbueすればちゃんと動くらしいよ。 付属のだとそれすら効かない。 std::locale loc("japanese"); std::locale::global(loc); std::wcout.imbue(loc); std::wcout << L"ぶーすと" << std::endl; http://echo.5ch.net/test/read.cgi/tech/1158991211/526
527: デフォルトの名無しさん [sage] 2006/12/27(水) 23:15:10 ublasでrankは求められなかとですかい? rank求めるのにlu分解は精度の問題で、一般には使われてないとか書いてるけど、 どの程度精度に問題でてくるんだろうね。 http://echo.5ch.net/test/read.cgi/tech/1158991211/527
528: デフォルトの名無しさん [sage] 2006/12/28(木) 12:41:32 ttp://www.page.sannet.ne.jp/d_takahashi/boost/ublas/index.htmlを参考にして ublasで逆行列を求めようとしているのですが、lu_factorizeの呼び出しでコンパイルエラーになります。 エラーメッセージが大量なので、ソースと一緒にアップローダに上げておきます。 ttp://zetubou.mine.nu/itoshiki/nozomu/zetubou3677.zip http://echo.5ch.net/test/read.cgi/tech/1158991211/528
529: デフォルトの名無しさん [sage] 2006/12/28(木) 13:06:13 実行時エラーなら出るがコンパイルエラーは出ないな。 VC8SP1 + Boostは11月の頭にCVSから F:\>cl -nologo -EHsc -ID:\Boost inv.cpp inv.cpp F:\>inv.exe Check failed in file D:\Boost\boost/numeric/ublas/triangular.hpp at line 2435: e1 () (n, n) != value_type () This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. F:\> http://echo.5ch.net/test/read.cgi/tech/1158991211/529
530: デフォルトの名無しさん [sage] 2006/12/28(木) 15:50:10 November 28, 2006 - Function Types Accepted http://echo.5ch.net/test/read.cgi/tech/1158991211/530
531: デフォルトの名無しさん [sage] 2006/12/29(金) 19:50:03 VC7 でserializationのlib出きへんのやけど なんか必要? http://echo.5ch.net/test/read.cgi/tech/1158991211/531
532: 528 [sage] 2006/12/29(金) 20:29:50 boostを1.32.0に入れ替えてみたところコンパイル出来ました。 実行時エラーは、おそらく係数行列を適当に設定したため発生したのだと思います。 係数行列を参考サイトと同じ行列にしたところ、同様の結果が得られました。 ublas使う時だけ1.32.0で行くことにします。ありがとうございました。 http://echo.5ch.net/test/read.cgi/tech/1158991211/532
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 469 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s