【问题标题】:How to deploy application that uses Intel IPP?如何部署使用英特尔 IPP 的应用程序?
【发布时间】:2016-07-13 03:50:11
【问题描述】:

我在 Linux 中编写了一个转换声音的程序。我使用英特尔 IPP(集成性能基元)库。我添加了 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 中正确运行,但可执行文件没有运行。 我已将所有英特尔 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    

【问题讨论】:

    标签: linux intel-ipp


    【解决方案1】:

    你可以

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多