我在描述的自述文件中安装了Linux-ARM-FTDI驱动程序1.1.12:
http://www.ftdichip.com/Drivers/D2XX/Linux/ReadMe-linux.txt
并且还成功地测试了EEPROM/读取示例以检查安装情况,它为我的USB设备提供了正确的输出。然后,在我第一次安装ftdi软件包时遇到了一些麻烦,因为找不到ftd2xx.h。我遵循以下描述:https://forum.sparkfun.com/viewtopic.php?p=50378
在将ftd2xx.h和WinTypes.h复制到/usr/loacl/include之后,我可以通过npm安装ftdi,而不会出现问题。

现在,当我尝试要求ftdi时:

var ftdi = require('ftdi');

我收到以下错误:
/home/utilite/node/usb_socket/node_modules/ftdi/node_modules/bindings/bindings.js:83
        throw e
              ^
Error: libftd2xx.so: cannot open shared object file: No such file or directory
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at bindings (/home/utilite/node/usb_socket/node_modules/ftdi/node_modules/bindings/bindings.js:76:44)
    at Object.<anonymous> (/home/utilite/node/usb_socket/node_modules/ftdi/index.js:3:31)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

这里是依赖项:
ls -l /usr/local/lib/libftd2xx.*
-rw-r--r-- 1 root root 241478 Jun 16 14:17 /usr/local/lib/libftd2xx.a
lrwxrwxrwx 1 root root     34 Jun 16 14:18 /usr/local/lib/libftd2xx.so -> /usr/local/lib/libftd2xx.so.1.1.12
-rwxr-xr-x 1 root root 229597 Jun 16 14:17 /usr/local/lib/libftd2xx.so.1.1.12
utilite@utilite-ubuntu-desktop:~/node/usb_socket$ ldd /usr/local/lib/libftd2xx.so
        libpthread.so.0 => /lib/arm-linux-gnueabi/libpthread.so.0 (0x401ff000)
        libdl.so.2 => /lib/arm-linux-gnueabi/libdl.so.2 (0x400c0000)
        librt.so.1 => /lib/arm-linux-gnueabi/librt.so.1 (0x400ae000)
        libgcc_s.so.1 => /lib/arm-linux-gnueabi/libgcc_s.so.1 (0x40013000)
        libc.so.6 => /lib/arm-linux-gnueabi/libc.so.6 (0x4021a000)
        /lib/ld-linux.so.3 (0x4002d000)

对我来说还不错。

Targt系统:
Linux utilite-ubuntu-desktop 3.0.35-cm-fx6-4 #123 SMP Thu Sep 12 10:41:30 IST 2013 armv7l armv7l armv7l GNU/Linux
node.js version: 0.10.22 (highest 0.10.x version to run on the target)

有什么建议?

最佳答案

/usr/local/lib在您的链接器路径中?

我认为在新版本的ubuntu中默认不链接/usr/local/lib。

ldconfig /usr/local/lib/

将其添加到链接器缓存并进行测试。

如果可以解决您的问题,则应将其添加到.conf文件/etc/ld.so.conf.d/中。

https://unix.stackexchange.com/questions/67781/use-shared-libraries-in-usr-local-lib

10-04 16:24