2011-01-29 65 views
0

我完全新手与cygwin和我想编译东京内阁 我得到以下错误,并不能找出为什么我有这个冲突 有人可以帮我吗?东京内阁不编译cygwin

感谢

$ make 
gcc -c -I. -I/usr/local/include -I/home/Larry/include -I/usr/local/include -DND 
EBUG -D_GNU_SOURCE=1 -D_REENTRANT -D__EXTENSIONS__ -D_TC_PREFIX="\"/usr/local\"" 
-D_TC_INCLUDEDIR="\"/usr/local/include\"" -D_TC_LIBDIR="\"/usr/local/lib\"" -D_ 
TC_BINDIR="\"/usr/local/bin\"" -D_TC_LIBEXECDIR="\"/usr/local/libexec\"" -D_TC_A 
PPINC="\"-I/usr/local/include\"" -D_TC_APPLIBS="\"-L/usr/local/lib -ltokyocabine 
t -lbz2 -lz -lrt -lpthread -lm -lc \"" -g -O2 -std=c99 -Wall -fPIC -fsigned-char 
-O2 tcutest.c 
tcutest.c:1: warning: -fPIC ignored for target (all code is position independent 
) 
tcutest.c:31: error: conflicting types for 'iprintf' 
/usr/include/stdio.h:259: error: previous declaration of 'iprintf' was here 
make: *** [tcutest.o] Error 1 

回答

3

恼人的种类。全局重命名iprintfmy_iprintf或类似的东西。我没有Cygwin的,但只是试图在Linux上,这行之有效:

$ sed -i.bak 's/iprintf/my_iprintf/g' *.c *.h bros/*.c 
$ ./configure 
... blah blah configuring blah blah ... 
#================================================================ 
# Ready to make. 
#================================================================ 
$ make 
... blah blah building blah blah ... 
#================================================================ 
# Ready to install. 
#================================================================ 
$ ./tctmgr --version 
Tokyo Cabinet version 1.4.46 (909:1.0) for Linux 
Copyright (C) 2006-2010 FAL Labs 

IIRC的cygwin有GNU的coreutils,其中包括sed,但它已经有一段时间,因为我用它。提示:请保留tarball,以便在出现错误时重新解压,但sed命令也会保留备份。

+0

感谢它的工作! – Larry 2011-01-29 12:43:35