Windows + GTK + race condition :(

研究で GTK 使ったアプリを開発してるわけですが、SMP (dualcore とか Pentium4 HT) な Windows だとなんか、VC ほげほげ、とかいう不穏なエラーが出て動かなかったわけです。たぶん、使ってる GTK が Visual C/C++ でコンパイルされているので、VC ほげほげ、とかいうエラーが出るんですけれど。
僕の開発環境は Mac とか FreeBSD なので、Linux なんかではそのまま動くんだけど、MinGW でコンパイルするにはちょっと、ファイル名とかパスの取り扱い関係で工夫が必要だった。で、uni processor な環境ではちゃんと動くようになったので、それでイエーイ、とか思ってたら、どうやら multi processor な環境ではスレッド間で race condition かなにかの問題が起きていた模様。
MinGW-5.1.3 にして、gcc を 3.4.2 から 3.4.5 に update して、GTK も 2.10.11 (Glade for Win32のやつ) にしたら、ちゃんと動くようになった。もっとも、古い GTK (2.10.7 かな?) が入っているところに持って行っても動いたから、コンパイルするときの GTK のバージョンはあんまり関係ないみたいだ。

コメントを残す