用perl xs封装C语言的库时遇到的问题,求高手解答啊
本帖最后由 zhanyuanlin 于 2013-01-08 09:19:52 编辑 我在学习perl xs封装C语言库的东西!可是我按照perldoc上的例子去联系的时候总是报错,我看的文档地址是: perldoc.perl.org/perlxstut.html#EXAMPLE-4
EXAMPLE4的这个例子!
我先创建一个Mytest2文件夹,然后再在MyTest2下面创建一个mylib文件夹,在该文件夹下面创建三个文件:mylib.h,mylib.c Makefile.pl,代码分别是:
mylib.h
#define TESTVAL4
extern doublefoo(int, long, const char*);
#include <stdlib.h>
#include "./mylib.h"
double
foo(int a, long b, const char *c)
{
return (a + b + atof(c) + TESTVAL);
}
use ExtUtils::MakeMaker;
$Verbose = 1;
WriteMakefile(
NAME => 'Mytest2::mylib',
SKIP => [qw(all static static_lib dynamic dynamic_lib)],
clean => {'FILES' => 'libmylib$(LIB_EXT)'},
);
sub MY::top_targets {
'
all :: static
pure_all :: static
static :: libmylib$(LIB_EXT)
libmylib$(LIB_EXT): $(O_FILES)
$(AR) cr libmylib$(LIB_EXT) $(O_FILES)
$(RANLIB) libmylib$(LIB_EXT)
';
}
h2xs -O -n Mytest2 ./Mytest2/mylib/mylib.h
Can't find -0.h in . /usr/include /usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include /usr/include Mytest