[過去ログ]
Boostを語れゴラァ part4 (1001レス)
Boostを語れゴラァ part4 http://echo.5ch.net/test/read.cgi/tech/1175663346/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
848: 833 [] 2007/10/06(土) 21:14:28 >>846 だー クラス外で初期化するんじゃ、全然コンパイル時の計算にならんですね。orz。 http://echo.5ch.net/test/read.cgi/tech/1175663346/848
849: デフォルトの名無しさん [sage] 2007/10/06(土) 21:50:30 つーかな enum{ AAA = "a"[0] }; をコンパイルしたら分かると思うけど "a"[0] という式がもうコンパイル時定数式とならないからムリなの。 http://echo.5ch.net/test/read.cgi/tech/1175663346/849
850: デフォルトの名無しさん [] 2007/10/06(土) 22:03:13 おっしゃるとおりで。 C++0xでは何か変化あります? http://echo.5ch.net/test/read.cgi/tech/1175663346/850
851: デフォルトの名無しさん [sage] 2007/10/06(土) 23:34:58 おまいらDに負けそうですよ http://echo.5ch.net/test/read.cgi/tech/1175663346/851
852: デフォルトの名無しさん [sage] 2007/10/06(土) 23:58:02 namespace po = boost::program_options ; po::options_description desc("options") ; desc.add_options() ("hage", po::wvalue< std::wstring >()->default_value("Bjarne Stroustrup") , "hage") ; このコードをコンパイルしようとすると、std::wstringからstd::stringへ、lexical_castしようとしてエラーになるのですが、 あきらめるしかないのでしょうか? http://echo.5ch.net/test/read.cgi/tech/1175663346/852
853: デフォルトの名無しさん [] 2007/10/07(日) 00:01:44 脊髄で答えるけど、禿かビャーネスポスポのどちらかor両方にLをつけてないからじゃないの? L"hage" な。 http://echo.5ch.net/test/read.cgi/tech/1175663346/853
854: デフォルトの名無しさん [sage] 2007/10/07(日) 00:05:43 書き間違えてました。 ちなみに、 Lを付けないと、default_valueはstd::wstringを引数に取るのでコンパイルエラー Lを付けると前述の通り。 http://echo.5ch.net/test/read.cgi/tech/1175663346/854
855: デフォルトの名無しさん [sage] 2007/10/07(日) 00:26:09 >>852 > Throughout this document "Unicode support" is a synonym for "char to wchar_t conversion" support http://echo.5ch.net/test/read.cgi/tech/1175663346/855
856: 852 [sage] 2007/10/07(日) 00:52:03 今日3時に書いた自分のブログの愚痴が、もうgoogleに拾われて、しかも上位に来るとか、何のギャグですか。 http://echo.5ch.net/test/read.cgi/tech/1175663346/856
857: デフォルトの名無しさん [sage] 2007/10/07(日) 00:56:47 虫さんか。 まぁ、po使ってる奴が少ないんだろうさ。 http://echo.5ch.net/test/read.cgi/tech/1175663346/857
858: デフォルトの名無しさん [sage] 2007/10/07(日) 01:24:32 調べ者してたらgoogleの三番目に出てきたページが 過去に自分がこの板で質問した内容だった時の脱力感 http://echo.5ch.net/test/read.cgi/tech/1175663346/858
859: デフォルトの名無しさん [sage] 2007/10/07(日) 01:27:07 Boost使いなどみんなそんなもんだ。 >>826 でいうと大体いなくなったからな。 http://echo.5ch.net/test/read.cgi/tech/1175663346/859
860: デフォルトの名無しさん [sage] 2007/10/07(日) 03:58:10 最近boostを知ったんだけどかなり使えそうだね これ知らずにC++やってた(/д\;)ハズカシ http://echo.5ch.net/test/read.cgi/tech/1175663346/860
861: 852 [sage] 2007/10/07(日) 04:10:44 自分で書き換えてやろうかとおもったら、 なんか意外とあっさりできてしまった。 boost/program_options/value_semantic.hppに #include <boost/program_options/detail/convert.hpp> を付け加えて、 typed_valueのプライマリテンプレートの下に、次のメンバ特殊化を付け加えればいい。 template<> typed_value<std::wstring, wchar_t> * typed_value<std::wstring, wchar_t>::default_value(std::wstring const & v) { m_default_value = boost::any(v); m_default_value_as_text = boost::to_utf8(v); return this; } メンバ特殊化って便利だね。 http://echo.5ch.net/test/read.cgi/tech/1175663346/861
862: デフォルトの名無しさん [] 2007/10/07(日) 04:40:00 C++相談室part56のこれ相当のものって、Boostに入ってますか? template<typename T, size_t N> char (&lengthof_helper_char_array(T (&a)[N]))[N]; #define lengthof(a) (sizeof(lengthof_helper_char_array(a))) Rangeのsize()はちょっと違うよね。 http://echo.5ch.net/test/read.cgi/tech/1175663346/862
863: 862 [] 2007/10/07(日) 05:33:37 http://www.ddj.com/cpp/197800525?pgno=7 の方法で長さを出す奴でもかまいません。 // a struct defined such that sizeof(Size<N>::Type) == N template<int N> struct Size { typedef char Type[N]; }; // returns an object whose size is the number of // elements in the passed array template<typename T, int N> typename Size<N>::Type& count(const T(&array)[N]); で、sizeof(count(a)) という。 http://echo.5ch.net/test/read.cgi/tech/1175663346/863
864: デフォルトの名無しさん [sage] 2007/10/07(日) 10:47:01 >850 既に規格draft に入ってる http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2369.pdf 見てる限りでは "a"[0] も constant expression になりそうな気がする。 あるいは、直接は無理でも constexpr char A[] = "a"; としておいて、A[0] だったら通るのかな? これだと結局単純には template では使えなくて、>845 の上みたいなことをする必要があるかもしれないけど。 >862 コンパイル時定数として使えるものというのなら TypeTraits の extent が使えそうな気がする。 http://echo.5ch.net/test/read.cgi/tech/1175663346/864
865: デフォルトの名無しさん [] 2007/10/07(日) 11:28:18 http://www.boost.org/doc/html/boost_typetraits/reference.html#boost_typetraits.extent ですか? http://echo.5ch.net/test/read.cgi/tech/1175663346/865
866: デフォルトの名無しさん [sage] 2007/10/07(日) 11:39:34 >>864 extentだと変数ではなく型を渡す羽目になるような。 typeofがあることを前提とするなら問題ないけど。 http://echo.5ch.net/test/read.cgi/tech/1175663346/866
867: デフォルトの名無しさん [] 2007/10/07(日) 19:30:20 >>866 VC8って結局boostのtypeofは使えるの?つかえ内の? http://echo.5ch.net/test/read.cgi/tech/1175663346/867
868: デフォルトの名無しさん [] 2007/10/07(日) 21:38:48 今朝Boostを知った新参者です。 コンパイラはVC++6を使ってます。 質問ですがBoostのmatrixを使って、 複素数の行列の計算は可能でしょうか。 実数行列matrix<double> 複素行列matrix<complex> のような感じにしたいのですが。 complexは標準ライブラリのを使おうと思ってます。 (他に推奨ありますか?) よろしくお願いします。 http://echo.5ch.net/test/read.cgi/tech/1175663346/868
869: デフォルトの名無しさん [sage] 2007/10/07(日) 21:47:48 VC6か…… stlportでもいれないとな… http://echo.5ch.net/test/read.cgi/tech/1175663346/869
870: デフォルトの名無しさん [sage] 2007/10/07(日) 21:50:17 VC6か・・・・ http://echo.5ch.net/test/read.cgi/tech/1175663346/870
871: デフォルトの名無しさん [sage] 2007/10/07(日) 21:51:11 vc6か。。。。 http://echo.5ch.net/test/read.cgi/tech/1175663346/871
872: 868 [sage] 2007/10/07(日) 21:53:03 ええっ VC6の時点で試合終了ですか http://echo.5ch.net/test/read.cgi/tech/1175663346/872
873: デフォルトの名無しさん [sage] 2007/10/07(日) 21:58:55 まだサポートしてたっけ VS2005にすれば http://echo.5ch.net/test/read.cgi/tech/1175663346/873
874: デフォルトの名無しさん [sage] 2007/10/07(日) 22:00:35 諦めたらそこで試合終了だy・・・VC6か・・・諦めたら? http://echo.5ch.net/test/read.cgi/tech/1175663346/874
875: デフォルトの名無しさん [sage] 2007/10/07(日) 22:01:05 vc2005EE + WTL で無料でwinアプリ作れちゃうよ http://echo.5ch.net/test/read.cgi/tech/1175663346/875
876: デフォルトの名無しさん [sage] 2007/10/07(日) 22:03:32 微笑ましいなw http://echo.5ch.net/test/read.cgi/tech/1175663346/876
877: 868 [sage] 2007/10/07(日) 22:06:33 とりあえずstlportを入れてみました。 これで何とかなりますか? http://echo.5ch.net/test/read.cgi/tech/1175663346/877
878: 868 [] 2007/10/08(月) 00:14:19 何かもう駄目っぽい気がしたので、とりあえずcomplexは保留します。 (できれば知りたいですが) 実数行列だけ考えることにして、ためしに http://www.page.sannet.ne.jp/d_takahashi/boost/ublas/index.html#SEC4 ↑ここにある 連立方程式を解く の例にあるコードを、そのままコピーして ビルドしようとしましたが \boost_1_32_0\boost\numeric\ublas\lu.hpp(131) : error C2780: 'const class boost::numeric::ublas::matrix_indirect<M,class boost::numeric::ublas::indirect_array<A> > __cdecl boost::n umeric::ublas::project(const class boost::numeric::ublas::matri x_indirect<M,class boost::numeric::ublas::indirect_array<A> > &,const class boost::numeric::ublas::indirect_array<A> &,const cl ass boost::numeric::ublas::indirect_array<A> &)' : 3 引数が必要で す - 2 が設定されます。 ↑こんな感じのエラーが大量に発生してやばいです。 よろしければ、この解決策を教えていただけないでしょうか。 http://echo.5ch.net/test/read.cgi/tech/1175663346/878
879: デフォルトの名無しさん [sage] 2007/10/08(月) 00:18:45 VC2005を入れろ http://echo.5ch.net/test/read.cgi/tech/1175663346/879
880: デフォルトの名無しさん [sage] 2007/10/08(月) 01:25:39 素直にVS2005のEEでも、入れろよ。 みたところATLやMFCが必要だとは思えんし。 http://echo.5ch.net/test/read.cgi/tech/1175663346/880
881: 868 [] 2007/10/08(月) 03:41:01 VC2005入れたらエラーも発生せずできました。 3時間くらい悩んだりしていた甲斐があったと思います。 これは行列の固有値計算もできるんですか? http://echo.5ch.net/test/read.cgi/tech/1175663346/881
882: 868 [sage] 2007/10/08(月) 03:56:05 アッー! matrix<complex<double>> もできた。 さっきはできなかったのに なんかもう、色々許せない。VC6は許せない。 http://echo.5ch.net/test/read.cgi/tech/1175663346/882
883: デフォルトの名無しさん [sage] 2007/10/08(月) 04:01:14 >>869-874 を噛みしめておけw http://echo.5ch.net/test/read.cgi/tech/1175663346/883
884: デフォルトの名無しさん [sage] 2007/10/08(月) 10:16:03 boost::regexでsmatch 使うとそれ以降でインテリセンスが死んじゃうみたいなんだけど 回避策ありませんか? VC2005EEです http://echo.5ch.net/test/read.cgi/tech/1175663346/884
885: デフォルトの名無しさん [sage] 2007/10/08(月) 10:40:24 インテリセンスは死ぬためにあるのです http://echo.5ch.net/test/read.cgi/tech/1175663346/885
886: デフォルトの名無しさん [sage] 2007/10/08(月) 10:47:41 boostとインテリセンスは千日戦争に突入しているので、見守ってあげてください http://echo.5ch.net/test/read.cgi/tech/1175663346/886
887: デフォルトの名無しさん [sage] 2007/10/08(月) 10:50:54 インテリセンスで不具合がおきている人は日本語版VisualStudio使っているのかな? http://echo.5ch.net/test/read.cgi/tech/1175663346/887
888: デフォルトの名無しさん [] 2007/10/08(月) 11:15:56 >>887 お、そこには思いが至らなかった。 英語版の Visual Studio 2005 では死なないのかな? でも boost の ml などを見てると結構死んでる人もいるみたい。 >>884 なんか typedef が多重にかかると追い切れないのかもね。 boost/regex/v4/match_results.hpp の 49 行あたりにある typedef typename vector_type::const_iterator const_iterator; を vector_type を使わずに生のまま書くと IntelliSense は死なないみたい。 typedef typename std::vector<sub_match<BidiIterator>, Allocator>::const_iterator const_iterator; ところで、こういう宣言文での typename って必須? IntelliSense を殺してしまうようなヘッダファイルは Boost の そこかしこにあるんだけど、自分で使うヘッダファイルについては すべて修正してます。filesystem, mpl, optional, regex あたりが その代表かなぁ。 http://echo.5ch.net/test/read.cgi/tech/1175663346/888
889: デフォルトの名無しさん [sage] 2007/10/08(月) 11:26:14 >vector_type を使わずに生のまま なんのこと?生? >ところで、こういう宣言文での typename って必須? 必須 http://echo.5ch.net/test/read.cgi/tech/1175663346/889
890: デフォルトの名無しさん [sage] 2007/10/08(月) 11:29:14 英語版VisualStudioだと問題ないなあ。問題といっている ヘッダファイル使っているんだけどね。 http://echo.5ch.net/test/read.cgi/tech/1175663346/890
891: デフォルトの名無しさん [sage] 2007/10/08(月) 11:39:10 >>888 どうもです 書き直してみたけどやっぱり駄目みたい 便利な物は失うと辛いな(´Д`;) http://echo.5ch.net/test/read.cgi/tech/1175663346/891
892: デフォルトの名無しさん [] 2007/10/08(月) 11:42:25 >>889 「生」ってのは、その直前に typedef std::vector<sub_match<BidiIterator>, Allocator> vector_type; っていう宣言文があって、そこで宣言した vector_type を使わずに、 っていう意味で使った。 typename が必要になるのってどういうケースなんだろう。 じつは typename よくわかってない。テンプレート引数に class って書いてたのが最近は typename って書くのが流行り? って程度の認識。 http://echo.5ch.net/test/read.cgi/tech/1175663346/892
893: デフォルトの名無しさん [sage] 2007/10/08(月) 11:43:52 >>891 え?だめ?おかしいなぁ。 Visual Studio 2005 Professional SP1 日本語版 boost 1.34.1 なんだけどなぁ。 http://echo.5ch.net/test/read.cgi/tech/1175663346/893
894: デフォルトの名無しさん [sage] 2007/10/08(月) 11:51:46 >>892 std::vector<sub_match<BidiIterator>, Allocator>::const_iterator ってあったら、これが型なのかそうじゃない(例えばstaticメンバ変数)のかコンパイラには分からん だからtypenameで明示しない限り型じゃないとみなすことになってる http://echo.5ch.net/test/read.cgi/tech/1175663346/894
895: デフォルトの名無しさん [sage] 2007/10/08(月) 12:00:09 >>894 なるほど、クラスメンバと混同するからか。 typedef std::vector<sub_match<BidiIterator>, Allocator> vector_type; それでこの場合には typename がなかったのか。 http://echo.5ch.net/test/read.cgi/tech/1175663346/895
896: デフォルトの名無しさん [sage] 2007/10/08(月) 12:03:44 >>891 ncb ファイルを一度削除しないとだめかもね。 Visual Studio が起動している間に削除してもだめだよ。 ちゃんと終了してから削除しないと。 http://echo.5ch.net/test/read.cgi/tech/1175663346/896
897: デフォルトの名無しさん [sage] 2007/10/08(月) 12:37:17 試しにvector_typeを全部「生」にしてみたけど駄目だった やり方がどこか違うのかな・・・ 残念 http://echo.5ch.net/test/read.cgi/tech/1175663346/897
898: デフォルトの名無しさん [sage] 2007/10/08(月) 16:46:59 2005だが、 インテリセンスが混乱したら キャッシュ(ncbファイルだっけ)を削除したら一時的に直る。 http://echo.5ch.net/test/read.cgi/tech/1175663346/898
899: デフォルトの名無しさん [sage] 2007/10/09(火) 00:08:10 >>896>>898 ありがとうございます 遅レスですがncb消しても駄目ですた もう駄目ぽ http://echo.5ch.net/test/read.cgi/tech/1175663346/899
900: デフォルトの名無しさん [sage] 2007/10/09(火) 02:46:42 基本的にboost使う奴が悪いんだから、このさいインテリセンスは諦めましょう。 http://echo.5ch.net/test/read.cgi/tech/1175663346/900
901: デフォルトの名無しさん [sage] 2007/10/09(火) 03:07:14 特定のライブラリのみビルドする方法は用意されているのでしょうか? http://echo.5ch.net/test/read.cgi/tech/1175663346/901
902: デフォルトの名無しさん [sage] 2007/10/09(火) 03:34:13 >>901 どーだろ。でも、ライブラリ別に.soとか.aができるから、必要な奴だけリンクすることは可能。 だから部分ビルドできるかはあまり関係ない気もするんだが。 http://echo.5ch.net/test/read.cgi/tech/1175663346/902
903: デフォルトの名無しさん [sage] 2007/10/09(火) 04:30:10 ところで C++0x ではクロージャの機能は入るんですか? http://echo.5ch.net/test/read.cgi/tech/1175663346/903
904: 903 [sage] 2007/10/09(火) 04:31:35 すんません、ラムダ式が使えるんですね。 http://ja.wikipedia.org/wiki/C++0x#.E3.83.A9.E3.83.A0.E3.83.80.E9.96.A2.E6.95.B0.E3.81.A8.E3.83.A9.E3.83.A0.E3.83.80.E5.BC.8F http://echo.5ch.net/test/read.cgi/tech/1175663346/904
905: デフォルトの名無しさん [sage] 2007/10/09(火) 10:06:11 >>904 その Wikipedia の記事は、どういう新機能が会議で提案されてるかをかいてるので、どれが実際に C++0x に入りそうかは別個の話だよ。 http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2389.html をみたかぎりではλ式は間に合わなさそう。 これ以上はスレ違いなので C++0x スレで。 http://echo.5ch.net/test/read.cgi/tech/1175663346/905
906: デフォルトの名無しさん [sage] 2007/10/09(火) 10:09:41 と思って書き込んでからちゃんとよんでみたら、なんとかなりそうなのかな。よくわかりません。失礼しました http://echo.5ch.net/test/read.cgi/tech/1175663346/906
907: デフォルトの名無しさん [sage] 2007/10/09(火) 17:43:57 VC++2005EEの環境で>>878のコードをビルドしてみたんですが、リンクエラーが出てしまいます。 ランタイムライブラリをMT,MTd,MD,MDdのそれぞれ1回ずつ、バッチビルドでDebugとReleaseの両方をビルドしてみたんですが、どれもリンクエラーが出ました。 ↓はMDdでビルドしたときのエラーです。 ------ ビルド開始: プロジェクト: aa, 構成: Release Win32 ------ aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char> > (class std::basic_ostream<char,struct std::char_traits<char> > &,char)" (__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z)" は未解決です。 aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)" (__imp_?_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ)" は未解決です。 aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) char const `private: static char const * __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Nullstr(void)'::`2'::_C" (__imp_?_C@?1??_Nullstr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@CAPBDXZ@4DB)" は未解決です。 aa.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char> > (class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z)" は未解決です。 http://echo.5ch.net/test/read.cgi/tech/1175663346/907
908: デフォルトの名無しさん [sage] 2007/10/09(火) 17:46:46 907の続き Debugのエラーはあまりにも長いので、とりあえずReleaseだけにしておきます。 どこか設定が間違っているのでしょうか? お願いします。 http://echo.5ch.net/test/read.cgi/tech/1175663346/908
909: デフォルトの名無しさん [sage] 2007/10/09(火) 18:13:43 >>907 2005、Boost1.34だが、 31->33行目はoperator()で書き直せば通ったけど? A[0][0]=1.0; -> A(0,0)=1.0; http://echo.5ch.net/test/read.cgi/tech/1175663346/909
910: 907 [sage] 2007/10/09(火) 19:49:15 >>909 A[0][0]=1.0; -> A(0,0)=1.0;に書き換えてみましたが、同じエラーが出てしまいます。 ちなみにboost1.34.0だと、 c:\library\boost_1_34_0\boost\numeric\ublas\detail\config.hpp(174) : fatal error C1189: #error : Your compiler is unsupported by this verions of uBLAS. Boost 1.32.0 includes uBLAS with support for many old compilers. というエラーが出てしまうので、1.32.0を入れました。 リンクエラーの意味がわからないので、どうすればいいのかさっぱり・・・。 http://echo.5ch.net/test/read.cgi/tech/1175663346/910
911: 909 [sage] 2007/10/09(火) 20:32:32 >>910 ランタイムライブラリは マルチスレッド(デバッグ)?DLL 使わないとエラー大量に出るよ。 lib,includeディレクトリには1つのバージョンのみのBoostだけ入れてよ。 Boost1.34.1 これでもできないならなんか環境ファイルが壊れてるのかもしれん。 http://echo.5ch.net/test/read.cgi/tech/1175663346/911
912: 907 [sage] 2007/10/09(火) 22:44:28 >>911 1.34.1入れてビルドしてみましたが、やはり>>910に書いたエラーが出てしまいます。 (このエラーが出るということは、コンパイラが1.34.1のublasに対応してないということですよね?) 1.32.0でビルドすれば、コンパイルは通るんですが、 どのラインタイムライブラリでやっても、>>907のリンクエラーかそれよりたくさんのリンクエラーが出てしまいます。 リンクエラーの内容がstd::basic_ostreamとかだったりするのは、 やはり環境変数がちゃんと設定できていないか、壊れているかそのあたりがあやしいですか? http://echo.5ch.net/test/read.cgi/tech/1175663346/912
913: デフォルトの名無しさん [sage] 2007/10/10(水) 01:38:03 boost::test::unit_test ってテスト終了時に メモリリークの検出までやってくれるんだね。 どういう方法でリークを検出しているんだろう。 もしかしてメモリアロケータを標準のものから 置き換えてなにかやってるのかな? http://echo.5ch.net/test/read.cgi/tech/1175663346/913
914: デフォルトの名無しさん [sage] 2007/10/10(水) 02:44:06 >>912 通りすがりだけど・・・ #include <ublasのヘッダもろもろ> int main() { // 何も書かない return 0; } でコンパイル通る? 経験則から言うとVC7以上であればublasのバージョンは問題ないと思う >>913 unit_testのメモリリーク検出良いよね うっかりポインタ操作をミスしていたのを見つけてくれたことがあるよ http://echo.5ch.net/test/read.cgi/tech/1175663346/914
915: 907 [sage] 2007/10/10(水) 04:01:05 >>914 ヘッダだけのコードを1.32.0でビルドしたら成功しました。(1.34.1は、やはり>>910のエラー) 1.34.1でビルドするとboost/numeric/ublas/detail/config.hppの // Version 6.0 and 7.0 #if BOOST_MSVC <= 1300 #define BOOST_UBLAS_UNSUPPORTED_COMPILER 1 #endif の条件に該当してそうです。 コメントアウトでいろいろコードを削って試してみたら、どうもstd::coutを使うとリンクエラーが出るっぽいです。 原因がスレ違いで申し訳ないです。 あとは自分でなんとかします。 レスくれた方々、ありがとうございました。 http://echo.5ch.net/test/read.cgi/tech/1175663346/915
916: デフォルトの名無しさん [sage] 2007/10/11(木) 02:58:54 unit_testの話題が出ているので...質問させてください 他のライブラリを使用したコードのテストをするため unit_testを利用しようとしたところ、リンカで次のエラーを得ました ***.lib(main.obj) : error LNK2019: 未解決の外部シンボル _MAIN__ が関数 _main で参照されました。 unit_testがmain関数を横取りしていることあたりが原因だとは思うのですが 何とか上手く回避できないものでしょうか? お心当たりのある方はご教示いただけると幸いです http://echo.5ch.net/test/read.cgi/tech/1175663346/916
917: デフォルトの名無しさん [sage] 2007/10/11(木) 03:31:31 unit_testを使わない boostなんて無理してまでも使うもんじゃない。 http://echo.5ch.net/test/read.cgi/tech/1175663346/917
918: デフォルトの名無しさん [sage] 2007/10/12(金) 07:06:33 お前ら、ステートマシンはどのライブラリを使っていますか? Cで書いた糞自作ライブラリから乗り換えようと思ってるんですが。 http://echo.5ch.net/test/read.cgi/tech/1175663346/918
919: デフォルトの名無しさん [sage] 2007/10/12(金) 07:29:57 糞自作ライブラリから乗り換えようと思った理由は? http://echo.5ch.net/test/read.cgi/tech/1175663346/919
920: デフォルトの名無しさん [sage] 2007/10/12(金) 09:11:09 ttp://www.boost.org/more/formal_review_schedule.html Boost.FSM 10/21〜 http://echo.5ch.net/test/read.cgi/tech/1175663346/920
921: デフォルトの名無しさん [sage] 2007/10/12(金) 09:15:29 FSMは昔GPGに載ってたAI用のやつをいじって使ってる http://echo.5ch.net/test/read.cgi/tech/1175663346/921
922: デフォルトの名無しさん [sage] 2007/10/12(金) 09:32:38 >>918 Cベースで、状態遷移時のコールバック関数へのポインタが むき出しだったり、いやなことが多いのと、あのころの 自分を忘れたかったから。 >>920 お、レビューが始まるんですか。 ちょっと前に話題が出てた Property も? と思ったらこれは Property Map か。。 http://www.boost.org/libs/statechart/doc/index.html これと比べてどちらを使うべきかについてのアドバイスのような ページがどっかにあったんだけど、以前読んだ時に結局 判断がつかなくてずっと自作ライブラリ使ってたんだけど、 もう嫌になったから・・・ http://echo.5ch.net/test/read.cgi/tech/1175663346/922
923: デフォルトの名無しさん [sage] 2007/10/12(金) 20:21:25 typedef使えばいいような http://echo.5ch.net/test/read.cgi/tech/1175663346/923
924: デフォルトの名無しさん [sage] 2007/10/13(土) 14:37:13 テキストエディタ使ってコマンドラインからコンパイルしようとすると boost関連のincludeが見つからないと怒られたので vsvars32.batにboostのincludeとlibパスを追加してみたら 今度はfatal error LNK1120: 外部参照 1 が未解決です。と出る どうしたら良いのでしょうか? http://echo.5ch.net/test/read.cgi/tech/1175663346/924
925: 924 [sage] 2007/10/13(土) 14:42:35 書き忘れ VC2005EEです。。。 http://echo.5ch.net/test/read.cgi/tech/1175663346/925
926: デフォルトの名無しさん [sage] 2007/10/13(土) 14:56:29 具体的に何が見付かりませんと表示されるだろう。 そっち見ないとわからない。たぶんスレ違いの気がするけれど。 http://echo.5ch.net/test/read.cgi/tech/1175663346/926
927: 924 [sage] 2007/10/13(土) 15:02:11 error LNK2019: 未解決の外部シンボル "void __cdecl boost::throw_exception(class std::exception const &)" (?throw_exception@boost@@YAXABVexception@std@@@Z) が関数 " int __cdecl boost::lexical_cast<int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > (class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??$lexical_cast@HV?$basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@@boost@@YAHABV?$basic_string@DU?$char_traits@D@std@@ V?$allocator@D@2@@std@@@Z) で参照されました。 boosttest.exe : fatal error LNK1120: 外部参照 1 が未解決です。 長いんでカットしてました スレ違いならごめんなさい http://echo.5ch.net/test/read.cgi/tech/1175663346/927
928: デフォルトの名無しさん [sage] 2007/10/14(日) 19:34:47 うちはうまくうごいとるよ http://echo.5ch.net/test/read.cgi/tech/1175663346/928
929: デフォルトの名無しさん [sage] 2007/10/14(日) 20:12:48 boostでまだ使えないvc向けのものがあるね http://echo.5ch.net/test/read.cgi/tech/1175663346/929
930: デフォルトの名無しさん [sage] 2007/10/14(日) 23:32:14 >>927 VC のオプションの「C++ の例外を有効にする」がいいえになってるか 明示的に BOOST_NO_EXCEPTIONS を定義したのでは? http://echo.5ch.net/test/read.cgi/tech/1175663346/930
931: デフォルトの名無しさん [sage] 2007/10/15(月) 15:02:33 YAMLの実装はありますか? http://echo.5ch.net/test/read.cgi/tech/1175663346/931
932: 924 [sage] 2007/10/15(月) 18:11:46 >>930 遅レスですいません ビンゴでした /EHsc オプションつけたらコンパイル通った ありがとうございました でも、なにもした覚えはないんだけどな・・・ http://echo.5ch.net/test/read.cgi/tech/1175663346/932
933: デフォルトの名無しさん [sage] 2007/10/15(月) 18:15:01 実行時型情報を使うのってあんまり気持ち良くないなぁ。 おまえらは全然抵抗ありませんか? 型に関するあれやこれやはコンパイル時に解決 されているのがC++のいいところだと思ってたんだけど。 あと、これは単なるコーディングスタイルなんだけど、 メンバ変数をアクセスするときに this-> を強制したいなぁ。 あくまで自分が間違えてメンバ変数と同じ名前のローカル変数を 作ってしまうことがあるバカ者だからなんだけどね。 まぁこれは命名規則をきっちり決めておけばいいんだろうけど。 http://echo.5ch.net/test/read.cgi/tech/1175663346/933
934: デフォルトの名無しさん [sage] 2007/10/15(月) 18:56:28 boostと何の関係が? http://echo.5ch.net/test/read.cgi/tech/1175663346/934
935: デフォルトの名無しさん [sage] 2007/10/15(月) 19:11:01 RTTIをオフにすると、Boost のなかで使えない ライブラリが出てくる。どのライブラリが RTTIを要求するか、例外のサポートを要求するかについての リストがあれば便利なケースもあるんじゃないかなぁ、とか思いながら。 さすがに組み込みで Boost の全ライブラリのサポートを 要求する人はいないと思うが、どれが使えてどれが使えないか わかればいいなぁ。 http://echo.5ch.net/test/read.cgi/tech/1175663346/935
936: デフォルトの名無しさん [sage] 2007/10/15(月) 21:50:35 独り言うぜぇ http://echo.5ch.net/test/read.cgi/tech/1175663346/936
937: デフォルトの名無しさん [sage] 2007/10/15(月) 22:01:11 つうか、メンバ変数は大抵 xxx_ とか m_xxx でぶつからないだろ http://echo.5ch.net/test/read.cgi/tech/1175663346/937
938: デフォルトの名無しさん [sage] 2007/10/15(月) 22:56:57 インテリセンスで使いやすいように _xxx じゃ問題ある? http://echo.5ch.net/test/read.cgi/tech/1175663346/938
939: デフォルトの名無しさん [sage] 2007/10/15(月) 23:08:43 >>938 頭にアンダースコアの識別子は標準ライブラリやコンパイラのベンダのためにあるから使っちゃ駄目。 http://echo.5ch.net/test/read.cgi/tech/1175663346/939
940: デフォルトの名無しさん [sage] 2007/10/15(月) 23:12:26 >>939 はい、間違いです。規格書読み直してくださいね。 http://echo.5ch.net/test/read.cgi/tech/1175663346/940
941: デフォルトの名無しさん [sage] 2007/10/16(火) 00:00:50 >17.4.3.1.2 Global names >Certain sets of names and function signatures are always reserved to the implementation: >Each name that contains a double underscore (_ _) or begins with an underscore followed by an uppercase >letter (2.11) is reserved to the implementation for any use. >Each name that begins with an underscore is reserved to the implementation for use as a name in the >global namespace 大文字でないので、メンバに使うのはおkってことか? なんにせよ俺は使いたくはないな。 http://echo.5ch.net/test/read.cgi/tech/1175663346/941
942: デフォルトの名無しさん [sage] 2007/10/16(火) 00:51:09 マクロとぶつかったりするととても悲しいのでやめた方が無難 http://echo.5ch.net/test/read.cgi/tech/1175663346/942
943: デフォルトの名無しさん [sage] 2007/10/16(火) 08:19:50 バカかお前。ぶつからねーって回転だろ http://echo.5ch.net/test/read.cgi/tech/1175663346/943
944: デフォルトの名無しさん [sage] 2007/10/16(火) 19:38:49 独自のテンプレートライブラリを作るときに boost::mplを使うときに一々ヘッダでboost::mpl::bindとか完全修飾で書くとみにくいので namespace mpl = boost::mplとかusingを使いたいんですが namespace my_lib { namespace hoge_impl { } http://echo.5ch.net/test/read.cgi/tech/1175663346/944
945: 944 [sage] 2007/10/16(火) 19:46:07 namespace my_lib { namespace hogee_impl { // *この名前空間でusingやnamespace hoge = foo::bar;を使う tempalte<class Hoge, class Huga, class Foo> struct impl { typedef ... type; }; } // namespace hoge_impl tempalte<class Hoge, class Huga, class Foo> struct hogee { typedef typename hogee_impl<Hoge,Huga,Foo>::type type; }; } // namespace my_lib というようにしてhogeeをmy_lib::hogeeとして使えば問題ありませんか? ADLとかまだよくわからないのでちょっと心配です http://echo.5ch.net/test/read.cgi/tech/1175663346/945
946: デフォルトの名無しさん [sage] 2007/10/16(火) 21:56:08 それってBoostと関係あるのか? http://echo.5ch.net/test/read.cgi/tech/1175663346/946
947: デフォルトの名無しさん [sage] 2007/10/16(火) 23:37:09 >>945 どんなことが起こるのを心配してるの? 見た感じ、好きにすれば、って感じなんだけど。 http://echo.5ch.net/test/read.cgi/tech/1175663346/947
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 54 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s