我正在处理一个Perl模块,它仅与旧版本的共享系统库兼容。恰好我的系统上安装了旧版本库,但我无法强制Perl的Inline::C模块链接到旧库,而不删除当前最新的库。
我试图使用Device::USB模块,它与系统库libusb 0.1兼容,但与libusb 1.0不兼容。我的系统上安装了libusb 1.0和libusb 0.1,但在尝试安装Device::USB模块时,make test命令始终失败。这个失败似乎是由于Perl链接到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、-rpath等的应用时间/位置变得更加难以理解。
我试图使用Device::USB模块,它与系统库libusb 0.1兼容,但与libusb 1.0不兼容。我的系统上安装了libusb 1.0和libusb 0.1,但在尝试安装Device::USB模块时,make test命令始终失败。这个失败似乎是由于Perl链接到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、-rpath等的应用时间/位置变得更加难以理解。