【发布时间】:2015-07-31 12:00:25
【问题描述】:
我点击这个链接:http://www.swig.org/Doc3.0/Javascript.html#Javascript_running_swig 制作nodejs扩展名。所以我创建了一个包含example.c的文件夹test
#include <time.h>
double My_variable = 3.0;
int fact(int n) {
if (n <= 1) return 1;
else return n*fact(n-1);
}
int my_mod(int x, int y) {
return (x%y);
}
char *get_time()
{
time_t ltime;
time(<ime);
return ctime(<ime);
}
example.i:
%module example
%{
/* Put header files here or function declarations like below */
extern double My_variable;
extern int fact(int n);
extern int my_mod(int x, int y);
extern char *get_time();
%}
extern double My_variable;
extern int fact(int n);
extern int my_mod(int x, int y);
extern char *get_time();
binding.gyp:
{
"targets": [
{
"target_name": "example",
"sources": [ "example.cxx", "example_wrap.cxx" ]
}
]
}
我运行这个命令:
sudo npm install -g node-gyp
然后:
swig -javascript -node -c++ example.i
然后:
node-gyp configure
当我运行 node-gyp build 时出现以下错误:
gyp info it worked if it ends with ok
gyp info using node-gyp@2.0.2
gyp info using node@0.12.7 | linux | ia32
gyp info spawn make
gyp infomake: Entering directory `/home/slim/test/build'
make: *** No rule to make target `Release/obj.target/example/example.o', needed by `Release/obj.target/example.node'. Stop.
make: Leaving directory `/home/slim/test/build'
spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Linux 3.13.0-32-generic
gyp ERR! command "node" "/usr/bin/node-gyp" "build"
gyp ERR! cwd /home/slim/test
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
我在这个主题中找到了很多帖子,但它对我不起作用,我运行 npm -g install node-gyp 并在运行 node-gyp-build 但它不起作用。
【问题讨论】:
-
我使用的是 ubuntu 12.04LTS,我有 python v 2.7.3
-
那么你到底想要构建什么?你的
binding.gyp是什么样的? -
我点击此链接swig.org/Doc3.0/Javascript.html#Javascript_running_swig 使用 swig 制作了一个 nodejs 扩展
-
@robertklep:我编辑了帖子。