【问题标题】:Compilation issues with Cmake and Intel IPP under UbuntuUbuntu 下 Cmake 和 Intel IPP 的编译问题
【发布时间】:2018-08-10 08:53:35
【问题描述】:

问题是我有一个包含ipps.h 的源代码,我可以毫无问题地将这段代码编译成test.so 文件。

当我有一个需要这个构建的 test.so 文件的 Qt 示例时,问题就开始了,我从编译器收到以下消息:

/home/antti/test.so:未定义对“ippsFilterMedianGetBufferSize”的引用 /home/antti/test.so: 对 'ippsFilterMedian_32f' 的未定义引用

在我的CMakeLists.txt 用于编译test.so,文件末尾有以下几行:

add_library(libippcore SHARED IMPORTED)
 set_property(TARGET libippcore PROPERTY IMPORTED_IMPLIB "/opt/intel/compilers_and_libraries_2018.3.222/linux/ipp/lib/ia32_lin/libippcode.so")

这是链接器问题还是导致问题的原因?以及如何正确解决?奇怪的是,Qt 示例是使用自己的 CMakeLists.txt 构建的,但我看不到其中对 test.so 文件的任何引用,即使它以某种方式明确包含它。

【问题讨论】:

    标签: c++ linux ubuntu cmake intel-ipp


    【解决方案1】:

    “ippsFilterMedian_32f”函数在“libipps.so”库中。那就是信号处理库。

    因此,您需要将 libipps(连同 libippcore)添加到您的 cmake 文件中。 让我们看看成功构建 test.so 后会发生什么。

    问候, 谢尔盖

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-01
      • 2022-01-08
      • 2012-10-14
      • 1970-01-01
      相关资源
      最近更新 更多