gpt4 book ai didi

c - ifort 链接器 undefined reference

转载 作者:太空宇宙 更新时间:2023-11-04 04:08:12 24 4
gpt4 key购买 nike

我正在使用英特尔编译器 (ifort) 编译一个用 Fortran 语言编写的大型 HPC 系统。大约有数百个单独的模块,它们都可以正常编译,但链接器会抛出此错误:

phys_grid.o(.text+0x91b2): In function `phys_grid_mp_assign_chunks_':
: undefined reference to `_mm_idivrem_epi32'

_mm_idivrem_epi32 似乎是编译器自动矢量化的结果,但如果编译器生成它,为什么我会收到此错误?我需要链接到一些额外的库吗?

更新:

使用 nm,我能够将函数追踪到 libsvml,但与之链接没有帮助。现在这里似乎是问题所在:ia32intrin.h 声明函数如下:

__m128i __cdecl _mm_idivrem_epi32(__m128i * r, __m128i v1, __m128i v2); //__svml_idivrem4

但是从nm的输出来看,库中的符号是__svml_idivrem4。根据头文件,这些是相同的函数,但我可以将其告诉链接器吗?

最佳答案

求助于 Google 将我指向我 Mac 上的一个文件:

/Developer/opt/intel/Compiler/11.1/080/include/ia32intrin.h

其中包含一个符号的声明

_mm_idivrem_epi32

所以看起来您确实缺少链接或包含。

关于c - ifort 链接器 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3160350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com