我正在尝试编译geany-plugins-1.28。调试器插件(我需要的唯一一个)给出错误:
debug.c:53:21: fatal error: vte/vte.h: No such file or directory
#include <vte/vte.h>
显然,它需要知道这个文件的位置才能编译。我在主程序geany-1.28的src目录中找到了vte.h文件。运行时
sudo ./configure cflags=-I/home/pi/Desktop/geany-1.28/src
我在稍后尝试编译调试器插件时得到了与丢失标头相同的错误。
我跑了
./configure --help
获取所有标志选项。输出为here
如何正确配置以便进行编译。我需要自己编译调试器版本1.28,因为apt只安装了1.24,我认为它有一个bug,因为当我运行我的代码并出现错误时它会崩溃:
close failed in file object destructor:
sys.execpthook is missing
lost sys.stderr
答案 0 :(得分:2)
CFLAGS
是区分大小写的环境变量,因此您应该在运行configure之前设置它,而不是尝试将其作为命令行参数传递。这个变种:
$ export CFLAGS=-I/home/pi/Desktop/geany-1.28/src
$ ./configure
将CFLAGS设置为当前shell,直到您离开它为止。虽然这个:
$ CFLAGS=-I/home/pi/Desktop/geany-1.28/src ./configure
仅为当前命令设置变量,即configure
。
其他一些问题:
sudo
进行配置和制作。如果您将make install
设置为您有权写入的路径,则PREFIX
也不需要。更新
我尝试构建debugger
插件并摆脱了您的错误。 Geany的vte.h
似乎是内在的,而插件需要来自库的全功能文件。所以我刚从repos安装了vte
和vte-devel
。然而,我从Glib得到了一些其他无关的错误。我现在不会继续努力建立这一切。希望我的努力至少有一点帮助。
答案 1 :(得分:1)
如this answer所述,vte.h不是您要查找的文件。在系统上安装libvte(-dev)软件包并重新运行configure。
仅供记录:Geany上的vte.h是一个假人,允许Geany动态启用vte或禁用它,具体取决于系统上是否安装了vte。