3

我使用 MSYS2/MINGW64 在 Windows 上构建了一个支持 python 的交叉 gdb。我已经在 MINGW64 中安装了 python,即我有python2.7.exe并且C:\msys64\mingw64\bin这个地址在我的路径中。

运行 gdb 时出现以下错误

 Could not find platform independent libraries <prefix>
 Could not find platform dependent libraries <exec_prefix>
 Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
 ImportError: No module named site`

我还添加C:\msys64\mingw64\lib了我有的地方,libpython2.7.dll.a但我仍然得到同样的错误。

我还尝试在 Windows 上安装 python 并设置所有路径,但仍然是同样的错误。

如何让 gdb 找到 python?

4

1 回答 1

0

您必须设置环境变量:

PYTHONPATH=C:\msys64\mingw64\lib\python2.7;C:\msys64\mingw64\lib\python2.7\lib-dynload;

PYTHONHOME 变量引用 python 解释器:

PYTHONHOME=C:\msys64\mingw64\bin\pyhon.exe

我在 msys2 下构建了自己的 gdb,它在设置正确的环境变量后工作:

Microsoft Windows [Version 10.0.16299.19]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\tiit>echo %PYTHONHOME%
C:\msys64\mingw64\bin\pyhon.exe

C:\Users\tiit>echo %PYTHONPATH%
C:\msys64\mingw64\lib\python2.7;C:\msys64\mingw64\lib\python2.7\lib-dynload;

C:\Users\tiit>C:\msys64\home\tiit\gdb-7.11-bin\bin\x86_64-linux-gnu-gdb.exe
GNU gdb (GDB) 7.11.1.20160801-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-w64-mingw32 --target=x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb)

我的配置命令行是:

./configure --target=x86_64-linux-gnu --prefix=/home/tiit/gdb-7.11-bin --with-python=/mingw64/bin/python.exe --enable-static=yes
于 2017-11-03T08:40:54.300 回答