我正在尝试编译来自Scintilla网站的bait example。在编译它的过程中,我一点运气都没有。我可以很好地编译scintilla本身,也可以编译scite,但诱饵是另一回事。当我尝试使用提供的Makefile进行编译时,我得到以下错误:
bait.c:1:21: fatal error: gtk/gtk.h: No such file or directory我有GTK,并且使用它的不同版本。我已经尝试过了,我做什么似乎都无关紧要。我满脸怒容地在互联网上寻求帮助,一页又一页地阅读手册页,但我就是找不出问题所在。如果我没有得到那个错误,那么我就会得到另一个错误。
这是原始的makefile:
.SUFFIXES: .c .o .h .a
INCLUDEDIRS=-I../scintilla/include
CXXFLAGS= -DGTK -DSCI_LEXER -W -Wall
LEXEROBJS=$(wildcard ../scintilla/gtk/Lex*.o)
all: bait
shiz:
gcc `pkg-config --cflags gtk+-2.0` $(INCLUDEDIRS) $(CXXFLAGS) -c $< -o $@
bait: bait.o $(LEXEROBJS) ../scintilla/bin/scintilla.a
gcc `pkg-config --libs gtk+-2.0 gthread-2.0` -lstdc++ -DGTK $^ -o $@
clean:
rm -rf bait *.o我也尝试过使用codebrainz中的GtkScintilla。我甚至不能让它工作。我总是会得到上面的错误,或者出现这样的错误:
fatal error: gtk/gtk.h: No such file or directory我真的很感谢大家在这方面的帮助。谢谢。
编辑:我正在使用Linux Mint
发布于 2012-09-15 03:10:46
回到这个..。如果你已经解决了这个问题,请让我知道。它开始看起来是更多的麻烦,而不是它的价值。:)
下面是我所做的:
在我的虚拟box
pkg-config --cflags --libs gtk+-3.0
)上安装Mint 13
以下是问题:
INCLUDEDIRS需要您位于闪存中)。a需要构建( bait.o)endif
ifdef GTK3 else GTKVERSION=gtk+-2.0,你可以修复它并构建归档文件,在下面的代码中有大约一百万个未定义的引用:ScintillaGTK.cxx:(.text+0x1374) elseGTKVERSION=gtk+-2.0..不管怎么说。我会再给你一点时间,如果你自己关闭这个问题,请让我知道!
发布于 2014-01-07 08:54:06
我已经完成了这个makefile
##### Makefile #####
# Make file for bait on Linux or compatible OS
# Released to the public domain 2000 by Neil Hodgson neilh@scintilla.org
# This makefile tested with GCC 3.2 and GNOME 2.0
.SUFFIXES: .c .o .h .a
ifdef GTK3
GTKVERSION=gtk+-3.0
else
GTKVERSION=gtk+-2.0
endif
INCLUDEDIRS=-I../scintilla/include
CXXFLAGS= -DGTK -DSCI_LEXER -W -Wall
LEXEROBJS=$(wildcard ../scintilla/gtk/Lex*.o)
all: bait
.c.o:
gcc `pkg-config --cflags $(GTKVERSION)` $(INCLUDEDIRS) $(CXXFLAGS) -c $< -o $@
bait: bait.o $(LEXEROBJS) ../scintilla/bin/scintilla.a
gcc -DGTK $^ -o $@ -lstdc++ `pkg-config --libs $(GTKVERSION) gthread-2.0` -lm -lgmodule-2.0
clean:
rm -rf bait *.ohttps://stackoverflow.com/questions/12429813
复制相似问题