ngf*_*ixl 8 c++ binding static-libraries node-gyp
导入共享库 (.so) 似乎不是一件容易的事。我试图按照这篇文章中的说明进行操作,但我真的无法让它工作。没有库RF24 的构建正在运行。按照他们的构建说明在/usr/local/lib文件夹中生成以下文件集
librf24-bcm.so librf24.so librf24.so.1 librf24.so.1.3
librf24.so.1.3.1 node_modules python2.7 python3.5
Run Code Online (Sandbox Code Playgroud)
在我的 .cpp 文件中,我包含这样的库
librf24-bcm.so librf24.so librf24.so.1 librf24.so.1.3
librf24.so.1.3.1 node_modules python2.7 python3.5
Run Code Online (Sandbox Code Playgroud)
我的binding.gyp看起来像这样
#include <RF24.h> // also tested "" instead of <>
Run Code Online (Sandbox Code Playgroud)
编译错误是
myfile.cpp:2:18: fatal error: RF24.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我还尝试使用库部分中的文件完整名称,例如librf24.so.1.3.1,不带-l标志。还将 library_dirs条目切换为include_dirs。还是一样的错误。
根据这篇文章,我能够弄清楚。RF24 版本还将相应的头文件写入/user/local/include/RF24.
将binding.gyp更新为
"include_dirs": [
"../../src",
"/usr/local/include/RF24"
],
"libraries": [
"/usr/local/lib/librf24.so.1.3.1"
]
Run Code Online (Sandbox Code Playgroud)
至少插件编译没有错误和警告。