3

我正在尝试在 Mac OS X 10.6.8 上编译带有 XFT 支持的 perl-tk,但遇到了一些问题。

第一个是跑步

perl Makefile.PL XFT=1

产生以下输出(总而言之,找不到 freetype.h 标头,并且无法识别 XFT 参数):

macmini:Tk-804.030 sjurisic$ perl Makefile.PL XFT=1
perl is installed in /usr/local/ActivePerl-5.8/lib okay
PPM for perl5.008009
Test Compiling config/perlrx.c
Test Compiling config/pmop.c
Test Compiling config/pregcomp2.c
Test Compiling config/regexp511.c
Test Compiling config/signedchar.c
Test Compiling config/Ksprintf.c
Test Compiling config/svtrv.c
Test Compiling config/tod.c
Test Compiling -DTIMEOFDAY_TZ config/tod.c
TZ gettimeofday()
Using -L/usr/X11R6/lib to find /usr/X11R6/lib/libX11.dylib
Using -I/usr/X11R6/include to find /usr/X11R6/include/X11/Xlib.h
Cannot find freetype.h include file
WARNING: DISTVNAME is not a known parameter.
'DISTVNAME' is not a known MakeMaker parameter name.
'XFT' is not a known MakeMaker parameter name.
4

1 回答 1

0

您可以尝试调整 Perl/Tk 发行版中的 myConfig 以为 freetype 包含添加额外的搜索路径。这将是行

my $ftinc = Ift("/usr/include","/usr/local/include",$X11INC||());

您可以在其中添加“/usr/X11/include”。

如果 libXft.so 不在 /usr/local/lib 或任何其他标准库路径中,那么您可能还需要调整my $ftlib =下面几行的定义。

无论您是否成功,这都值得在https://rt.cpan.org/Ticket/Create.html?Queue=Tk

顺便说一句,在 Tk 804.031 XFT=1 中默认设置,因此您不必再在perl Makefile.PL调用中指定它。而关于的警告'XFT' is not a known MakeMaker parameter name.只是一个 MakeMaker 工件,可能会被忽略。

于 2013-07-04T09:44:35.027 回答