寻求linux for arm7环境下,nodejs调用.so动态库出错问题的解决方法

硬件环境:raspberry Pi3B+
系统环境:raspbian-stretch-lite
nodejs版本:v8.11.3

node-ffi:v2.2.0

linux平台开发新手一枚,刚入坑~
问题:nodejs通过node-ffi模块调用外部的.so文件,加载总是报错,无法成功调用。
不清楚了不了解是什么原因。但相同的.dll文件我在win平台可以调用成功。
特来请教大牛师父帮解惑。

我要达到的目的是:
能够象win平台那样,在linux平台下也能完成nodejs对.so动态库的调用。
谢谢

附图:图片说明
图片说明
图片说明

2个回答

估计我跟你水平相当吧,我也是主要做Windows,接触过linux编程,你这个提示就是so文件没放在可以加载的路径里面,所以未读取到动态库,你确认一下有几个lib文件夹,哪个文件夹是能够正常加载到的,你们公司有没有做linux的同事,可以交流一下。

weixin_42849653
weixin_42849653 回复phenix2009: 哈哈,不好意思,给。
大约 2 年之前 回复
phenix2009
白色一大坨 回复weixin_42849653: 老兄问个问题,是不是只要不接帖,你分数就不用给出来啊?
大约 2 年之前 回复
phenix2009
白色一大坨 回复weixin_42849653: 咱们主做Windows的人,不要跟动态库这些折腾,最好交给专门弄linux的人去把环境设置好,扬长避短,如果想了解可以进一步系统学习,但是难度比较大非一日之功啊。
大约 2 年之前 回复
weixin_42849653
weixin_42849653 回复phenix2009: 嗯嗯,谢谢~问题不是出在路径位置,应该是编译环境上的问题,这个so是外部提供的,在我现在的平台用不了,我让对方重新编译试下
大约 2 年之前 回复
phenix2009
白色一大坨 我当初做时候也因为不了解库的加载路径放错过位置导致类似问题,系统里面的lib文件夹肯定不止一个你一定要确认一下你现在那个lib文件是不是加载动态库文件的
大约 2 年之前 回复

libSunVoteSDK.so的路径不对,报错提示未找到该文件。 要添加动态库到搜索路径 echo path/to/*.so >> /etc/ld.so.conf

u011031257
J.zhang11 回复weixin_42849653:那你就要检查一下文件是否真的被复制进去了,树莓派上如果你是非root用户/usr/local/lib是不可写入的,要加sudo
大约 2 年之前 回复
weixin_42849653
weixin_42849653 我把so文件复制到了默认的/usr/local/lib目录中了。在ld.so.conf.d\libc.conf中默认是/usr/local/lib
大约 2 年之前 回复
weixin_42849653
weixin_42849653 我把so文件复制到了默认的/usr/local/lib目录中了。在ld.so.conf.d
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐