Boost.Python@MSVCでpython-debuggingが

written by shn, on Feb 23, 2009 6:20:00 PM.

多分これと一緒。 Boost.Pythonをpython-debuggingにしてビルドしたものを使うと、Pythonの関数を呼んだ時に逝くという問題。 環境は恐らくWindowsのみで、うちの場合はboost 1.38.0, MSVC 9, Python 2.6。

原因はpython-debugging=onにしてできる、boost_python-vc90-mt-gy-1_38.dllPython26.dllと、Python26_d.dllの両方にリンクしてるからっぽい。

深く追うのがめんどくさかったので、tools\build\v2\tools\python.jam L:102に、condition = <python-debugging>on ;を挿入して無理矢理解決。

ざっと見た感じ、tools\build\v2\build\toolset.jam L:32initを空で呼んでいるせいで、 python.jamのinitに$(condition)が渡されてないのかなぁ、と。

bjamの引数に-d 7とか渡すとbjam内の引数と関数呼び出しを全部出力できて便利。 (ref: bjam usage)

Leave a Reply