我正在編譯使用Intel編譯器(ifort)編寫的Fortran編寫的大型HPC系統。大約有幾百個獨立的模塊,他們都編譯罰款,但鏈接拋出了這個錯誤:ifort linker undefined reference
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
。根據頭文件,這些是相同的功能,但我可以告訴鏈接器?
我沒有它,但我運行版本9.1,它看起來像你有11.1。卡薩布蘭卡,你正在運行什麼版本的編譯器? – 2010-07-01 18:29:51
我正在使用版本11.1。事實上,Mark提到的頭文件包含了_mm_idivrem_epi32的聲明,但我仍然試圖弄清楚我需要鏈接哪個庫。 – casablanca 2010-07-01 18:39:39