1
我有一个使用libtool构建的库,它安装在包的库目录/usr/local/lib/myprog/libmylib.so
中。我用libltdl动态加载我的代码库。当我尝试在一台机器上加载这个库时,它工作得很好。另一方面,如果在同一位置安装了相同的版本和库,则会出现“文件未找到”错误。当文件位于正确路径时,dlopen失败,找不到文件
如果我在lt_dlopenext
(我用来加载库)之前直接调用lt_dlforeachfile
,那么通过打印文件名可以看到我需要的库已经在搜索路径中找到。但之后立即加载失败,出现“文件未找到”错误。有什么建议么?
UPDATE
我曾尝试切换到使用dlopen
,并明确指明了该库的绝对路径。这仍然适用于某些系统,而不适用于其他系统。
调试这种错误的另一种方法是给出[这里](http://stackoverflow.com/a/9567335/1043187)。 – BenC 2015-04-13 04:12:56