如何部署使用Intel IPP的应用程序?

时间:2015-01-15 08:29:45

标签: linux intel-ipp

我在Linux中编写了一个用于转换声音的程序。我使用Intel IPP(Integrated Performance Primitives)库。我添加了ipps和ippcore库:

LIBS += -L$$PWD/../../../../opt/intel/ipp/lib/intel64/ -lipps
INCLUDEPATH += $$PWD/../../../../opt/intel/ipp/lib/intel64
DEPENDPATH += $$PWD/../../../../opt/intel/ipp/lib/intel64

LIBS += -L$$PWD/../../../../opt/intel/ipp/lib/intel64/ -lippcore
INCLUDEPATH += $$PWD/../../../../opt/intel/ipp/lib/intel64
DEPENDPATH += $$PWD/../../../../opt/intel/ipp/lib/intel64

我的程序在Qt Creator中正常运行,但可执行文件没有运行。 我已将所有Intel IPP库添加到包含可执行文件的文件夹中。 输出命令ldd -r:

linux-vdso.so.1 =>  (0x00007fff1e9fe000)
libjack.so.0 => /usr/lib/x86_64-linux-gnu/libjack.so.0 (0x00007f577a9cf000)
libipps.so.8.2 => not found

...
...

undefined symbol: ippsMalloc_64f    
undefined symbol: ippsFIRInit64f_32f    
undefined symbol: ippsFIR64f_32f    
undefined symbol: ippsMalloc_32f    
undefined symbol: ippsFIRGetStateSize_64f   
undefined symbol: ippsMalloc_8u (./jk)
undefined symbol: ippsFIRGenBandpass_64f    

1 个答案:

答案 0 :(得分:2)

你可以

  • 携带带有应用程序可执行文件的IPP动态库(使用 LD_LIBRARY_PATH 指定IPP动态库的文件夹位置),或
  • 使用静态IPP库构建应用程序(将库文件指定为目标文件: ... $ IPPROOT / lib / intel64 / libipps.a $ IPPROOT /lib/intel64/libippcore.a 等在链接器的命令行中。)