首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scintilla无法编译诱饵示例

Scintilla无法编译诱饵示例
EN

Stack Overflow用户
提问于 2012-09-15 02:13:13
回答 2查看 699关注 0票数 2

我正在尝试编译来自Scintilla网站的bait example。在编译它的过程中,我一点运气都没有。我可以很好地编译scintilla本身,也可以编译scite,但诱饵是另一回事。当我尝试使用提供的Makefile进行编译时,我得到以下错误:

代码语言:javascript
复制
bait.c:1:21: fatal error: gtk/gtk.h: No such file or directory

我有GTK,并且使用它的不同版本。我已经尝试过了,我做什么似乎都无关紧要。我满脸怒容地在互联网上寻求帮助,一页又一页地阅读手册页,但我就是找不出问题所在。如果我没有得到那个错误,那么我就会得到另一个错误。

这是原始的makefile:

代码语言:javascript
复制
.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。我甚至不能让它工作。我总是会得到上面的错误,或者出现这样的错误:

代码语言:javascript
复制
fatal error: gtk/gtk.h: No such file or directory

我真的很感谢大家在这方面的帮助。谢谢。

编辑:我正在使用Linux Mint

EN

回答 2

Stack Overflow用户

发布于 2012-09-15 03:10:46

回到这个..。如果你已经解决了这个问题,请让我知道。它开始看起来是更多的麻烦,而不是它的价值。:)

下面是我所做的:

在我的虚拟box

  • libgtk-3-dev (支持我可以使用pkg-config --cflags --libs gtk+-3.0

  • found gtk.h构建的packages)

  • verify并支持files

  • downloaded
  1. example

)上安装Mint 13

以下是问题:

  1. 诱饵的Makefile引用了gtk+-2.0,您需要将其更改为3.0。
  2. 诱饵的Makefile要求您在特定目录中构建(请注意,INCLUDEDIRS需要您位于闪存中)。a需要构建( bait.o)
  3. building不提供它,但它是必需的归档文件需要您修改makefile (注释掉以下行:

endif

  • Once ifdef GTK3 else GTKVERSION=gtk+-2.0,你可以修复它并构建归档文件,在下面的代码中有大约一百万个未定义的引用:ScintillaGTK.cxx:(.text+0x1374) elseGTKVERSION=gtk+-2.0..

不管怎么说。我会再给你一点时间,如果你自己关闭这个问题,请让我知道!

票数 1
EN

Stack Overflow用户

发布于 2014-01-07 08:54:06

我已经完成了这个makefile

代码语言:javascript
复制
##### 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 *.o
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12429813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档