C++ から Python 式を評価する必要があります。このコードはうまくいくようです:
PyObject * dict = PyDict_New();
PyObject * val = PyRun_String(expression, Py_eval_input, dict, 0);
Py_DECREF(dict);
残念ながら、expression が「True」または「False」の場合 (つまり、val が 0 で、PyErr_Occurred() が true を返す場合) は、ひどく失敗します。私は何を間違っていますか?それらはそれぞれ Py_True と Py_False に評価されるべきではありませんか?