错误:无法打开共享对象文件:没有此类文件或目录 我写了C++的ADDON。尝试使用名为libSample.so的示例库,该库具有函数printHello的声明: void printHello() { std::cout << "Hello World\n"; }
一些用法libCore.so错误:无法打开共享对象文件:没有此类文件或目录 我写了C++的ADDON。尝试使用名为libSample.so的示例库,该库具有函数printHello的声明: void printHello() { std::cout << "Hello World\n"; },c++,node.js,add-on,node.js-addon,C++,Node.js,Add On,Node.js Addon,一些用法libCore.so //#include <core.h> definition of core library lies in this header void CreateObject(const FunctionCallbackInfo<Value>& args) { Isolate* isolate = args.GetIsolate(); Local<Object> obj = Obj
//#include <core.h> definition of core library lies in this header
void CreateObject(const FunctionCallbackInfo<Value>& args) {
Isolate* isolate = args.GetIsolate();
Local<Object> obj = Object::New(isolate);
obj->Set(String::NewFromUtf8(isolate, "msg"), args[0]->ToString());
//usage of core library
Core core;
args.GetReturnValue().Set(obj);
}
我将感谢您的回答或建议 找到了简单的解决方案,但我可能不适合长期开发。我认为问题在于共享库所需的依赖库。您可以通过终端上的命令查看所需的库
lld libCore.so
linux-vdso.so.1 => (0x00007ffcae9d6000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007fa19dc07000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa19d9e9000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa19d7e5000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa19d45c000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa19d153000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa19cf3a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa19cb73000)
/lib64/ld-linux-x86-64.so.2 (0x00005637d3532000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa19c96b000)
在“我的共享库”的从属库列表上方
解决方案:
您应该将共享库复制到/usr/lib位置。这样就解决了我的问题
cp path/where/yourLocated/libCore.so /usr/lib
错误很明显,node无法找到您的加载项库。您可以找到有关节点如何对模块执行搜索的相关信息。@VTT有趣的是,它在同一目录中找到另一个库。但是当我尝试使用libCore.so时。它显示这样的错误。谢谢你的链接!您能解释一下为什么在linux系统上不能将这些.so(共享对象文件)添加到/opt/目录吗?我知道这个问题更多的是关于linux文件系统的层次结构。是的,我想你可以把它放在那里,但是你应该把它链接到项目配置中。我可能是错误的,因为暂时没有做C++和节点JS。2020年可能会有新的选择。无论如何,祝你好运。
linux-vdso.so.1 => (0x00007ffcae9d6000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007fa19dc07000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa19d9e9000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa19d7e5000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa19d45c000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa19d153000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa19cf3a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa19cb73000)
/lib64/ld-linux-x86-64.so.2 (0x00005637d3532000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa19c96b000)
cp path/where/yourLocated/libCore.so /usr/lib