【问题标题】:How to compile wth gcc , intel static libraries?如何编译 gcc 、 intel 静态库?
【发布时间】:2015-12-09 04:37:50
【问题描述】:

我有一个用 gcc 编译的程序。 我得到了一个使用 Intel 编译器 (icc) 编译的静态库(.a 文件)。

如何使用该库并与该库链接? (我没有icc,对方必须使用icc才能使用Intel指令集)。

我正在尝试编译(与该库链接),但英特尔指令出错...

  • 我的目标是 Intel I7。
  • 我遇到的第一个错误是:“undefined reference to `_intel_fast_memcpy'”

谢谢

【问题讨论】:

  • 什么错误? 如何你尝试与图书馆链接?而您的目标平台一些基于“英特尔”的系统?
  • __intel_fast_memcpy 函数看起来像是 ICC 编译器使用的内部函数,它可能是 ICC 运行时支持库的一部分。如果你没有那个,那么你真的无能为力。但你确实知道 ICC 是 free for some non-commercial uses?
  • 对于那个特定的函数,[它显然是一个类似 memcpy 的函数],您可以创建一个 .c 将其定义为真正的 memcpy 函数的“别名”:extern ... _intel_fast_memcpy ... __attribute__((alias(real_memcpy)))。对于其他人来说,一个包装函数定义给定的 __intel* 函数并调用 [可能变形 args] 一个真正的函数。如果您遇到不理解的问题,可能会有解释它的文档。应该是你必须删除的可处理的函数数量
  • 谷歌搜索,如果找到this article,则表明使用英特尔的链接器作为解决方案。
  • 嗨,如果我要求将库作为共享库(使用英特尔编译)它会工作吗?

标签: c++ gcc intel icc


【解决方案1】:

请查看英特尔 C++ 编译器论坛帖子中提供的建议:https://software.intel.com/en-us/forums/intel-c-compiler/topic/310493。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多