解决node-ffi在Windows XP上使用出现“Error: The specified procedure could not be found”的错误

来源:互联网 发布:微信联系人数据库恢复 编辑:程序博客网 时间:2024/05/16 16:18

nodejs的ffi库是一个非常好用的调用dll的库,尤其是在使用nwjs进行桌面应用开发的时候。

安装、编译、使用ffi库的方法比较简单,网上也有很多教程,但是当我们在win7或者更高的Windows系统中编译好了ffi模块,开发好了应用后会发现在Windows XP上无法require我们的ffi,及时将编译好的ffi_bindings.node单独require也无法使用,require的时候会出现“Error: The specified procedure could not be found”的错误。

经过几天的研究,终于找到了解决方案。在能够正常编译和引用ffi的Windows系统上,进入ffi文件夹中的src文件夹,找到文件“win32-dlfcn.cc”,并将里面的地96行和第99行的两行代码(我是用的ffi版本为2.2.0,其他版本还没有确定是不是这两行),对应的代码应该是:

errorMode = GetErrorMode();SetErrorMode(errorMode | SEM_FAILCRITICALERRORS);

将这两行代码注释掉,然后在从命令行进入到ffi根目录,执行“node-gyp rebuild”命令(或者“nw-gyp rebuild”命令,如果想要在nwjs中使用),编译出来的ffi库就可以在Windows XP上正常使用了。

阅读全文
0 0
原创粉丝点击