调试嵌入式目标时使用了错误的 python 解释器

Wrong python interpreter being used when debugging embedded target

我正在 运行宁 CLion (2017.3 RC) 与 MinGW-w64 (5.0.3) 并使用 gcc/g++ (7.2.0) + CMake (3.9.3) Windows 10 x64 编译嵌入 python(3.6.3 64 位)的目标。 运行 时一切正常,但是当我尝试调试它并逐步使用 CLion 时,我得到

File "C:\Python36\Lib/site.py", line 178 file=sys.stderr) ^ SyntaxError: invalid syntax

我的 PYTHONPATH 指向 Python 3 安装。我的系统上没有安装 Python 2,但似乎 Python 2 解释器正在尝试使用 Python 3 库。经过一番挖掘后,我注意到 MinGW-w64 捆绑了 Python 2,但即使我删除了库、包含和 exe,我也会遇到同样的错误。

经过更多的挖掘,我了解到 python2 已经从 7.0+ 版本嵌入到 gdb 中。因此,如果您尝试 运行 MinGW64 的 gdb(例如尝试从 CLion 进行调试)并且 PYTHONPATH 指向 python3 安装,您将 运行 陷入语法错误。发生这种情况是因为嵌入式 python2 正在尝试使用 python3 库。

我仍然无法调试嵌入 python 的 C++ 目标,但这是另一个问题...