• [rcssserver] bison問題修正 (akiyama) 14:35:30

昨日判明した,bison 2.4でno declared typeと怒られてしまう問題が解決した. bisonのマニュアルを読んできたところ,セマンティックアクションの意味値にunionを使う場合は,$< m_double >3 というように書けば適切に参照できるとのこと(bisonマニュアル3.5.4節).この場合,unionの中にm_doubleという変数が宣言されており,文法規則の3番目の要素はm_doubleに値が格納されていることを明示していることになる.どうやらここが怪しそうだと目星を付けて,すべてのアクションで"<>"を使用するように書き換えたら,bison 2.4でのコード生成が通るようになった.

coach_lang_parser.yppではunionではなくstructが使われており,すべての変数に対してoperator=とアクセサが定義されていたので,この問題が顕在しなかったということだろう.

恐らく,"<>"を使用しなくても,すべての意味値に対して個別の終端記号を用意し,さらにそれぞれを%type宣言をしていれば今回の問題は起きないのではないかと思う. 現状で問題無さそうなので無闇に書き変えはしないが,もし今後また問題が起こるようなら,%type宣言周りを疑えば良いかもしれない.

  • [soccerwindow2] デフォルトの接続先ホストを変更 (akiyama) 15:20:28

環境によってはQtがlocalhostの名前解決をしてくれないようなので,デフォルトの接続先をlocalhost から 127.0.0.1 へ変更.

  • [librcsc] AC_DISABLE_STATIC (akiyama) 15:20:28

共有ライブラリと静的ライブラリの両方をビルドするとCPUが遅い場合には完了までにえらい時間がかかるので,configure.acにAC_DISABLE_STATICを追加して,デフォルトでは共有ライブラリのみビルドするように変更した.

  • [rcssserver] Cygwin (akiyama) 20:42:40

何とかコンパイルは通ったが,Segmentation faultで落ちる. boost::filesystemのところで落ちているようだ. 詳細な原因はまだ掴めていないが,パスの区切り文字が怪しい気がする. スラッシュとバックスラッシュを正しく扱えていないのではないだろうか. boost::filesystem::pathの/=演算子を駆使して,怪しい文字が出ないように修正してみる予定.

boost-1.34以前でもコンパイルできるようにboost::filesystem::path::native_file_string()をサポートしておかないとまずいことも同時に判明したので,対応する.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-14 (月) 14:51:38 (1282d)
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.