我正在处理只与旧版共享系统库兼容的Perl模块。碰巧我在我的系统上安装了旧版本的库,但我无法弄清楚如何强制Perl的Inline::C
链接旧库而不删除当前的最新库。
我正在尝试使用Device::USB
,它与系统库libusb 0.1
兼容,但与<{1}} 不兼容。我的系统安装了libusb 1.0
和 libusb 1.0
,但libusb 0.1
在尝试安装make test
模块时始终失败。这种失败似乎是由Perl链接到Device::USB
库而不是libusb 1.0
库引起的。
在libusb 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
等传统技巧的时间/地点。