我有源代码不是由我写的,我无法联系作者。它是用C++编写的,需要libjpeg,boost和Intel Performance Primitives。英特尔性能原语(IPP)运行时错误
编译是一件苦差事,但经过几天的解决问题后,编译完成。现在,我收到以下运行时错误:error while loading shared libraries: libippi.so.5.1: cannot open shared object file: No such file or directory
。无论命令行参数如何,都会立即发生错误。
我下载了Ubuntu 9.04的试用版IPP。在/opt/intel/ipp/6.1.2.051/ia32/sharedlib/
下,我看到一堆以lib*
和libippi*
开头的文件,包括libippi.so.6.1
。所以我想我会尝试创建一个指向libippi.so.6.1
的链接libippi.so.5.1
,但这不起作用。我试图在本地目录中创建一个类似的链接,但这也不起作用。
我对这些库都不熟悉,所以我不知道还有什么可以尝试的。我无法在网络或SO上找到任何解决方案。如果你能帮助我解决这个错误,我将不胜感激。谢谢。
谢谢你的快速反应帮助。免责声明。可能的替代解决方案是找到引用IPP 5.1的程序部分,并简单地将其“更改”为6.1,或者这些库有显着不同?无论是在C++源代码,头文件或makefile中? –
这可能是可能的,恐怕我不知道对API变化的程度发表评论。但是,如果你从源代码编译6.1并仍然依赖6.1中未包含的libppi,那么我会相信树中有一些组件不是从源代码完全构建的,而是针对不同的版本。你可能想要用ldd来查看对libppi.so.5.1的依赖是来自你的主应用程序还是来自它链接的库之一。还要检查你的make文件以引用libppi并查看你是否找到了引用 – bdk