3

我正在处理一个仅与旧版本的共享系统库兼容的 Perl 模块。碰巧我的系统上有旧版本的库,但我不知道如何在Inline::C不删除当前最新库的情况下强制 Perl 与旧库链接。

我正在尝试使用Device::USB,它与系统库兼容libusb 0.1但与. 我的系统确实有已安装,但在尝试安装模块时始终失败。此故障似乎是由 Perl 链接到库而不是库引起的。libusb 1.0libusb 1.0 libusb 0.1make testDevice::USBlibusb 1.0libusb 0.1

/usr/lib我可以看到libusb我想使用的特定版本 ( libusb-0.1.so.4) 在那里。我需要做什么才能专门链接到这个库而不是通用的libusb.a?编辑Makefile.PL?编辑.pm文件?将额外的开关传递给make?

我一直在阅读链接器,但是这个额外的层Inline::C真正混淆了何时/何地可以应用 , 等export LD_LIBRARY_PATH=/usr/local/my_lib:$LD_LIBRARY_PATH的传统技巧。-rpath

4

1 回答 1

1

您是否尝试过使用 Inline::C 配置选项LIBS?根据文档,您应该可以使用完整路径指定您的库。

于 2011-08-19T21:43:58.737 回答