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);
将这两行代码注释掉,安装好nw-gyp后分别进入ref、ffi模块执行nw-gyp rebuild -target=0.14.7 –arch=ia32,其中–target是你制定的nwjs运行版本替换为你需要的版本号即可,arch是你需要运行的操作系统版本,如果是64位操作系统使用–arch=x64,注意 本实列运行在Windows系统下。
---------------------
作者:wuya1994
来源:CSDN
原文:https://blog.csdn.net/wuya1994/article/details/78525804
网友评论