我已經寫和調試一些AVX代碼G ++,現在我試圖讓它與MSVC的工作,但我不斷收到解析的外部符號__mm256_setr_epi64x
錯誤LNK2019:解析外部符號__mm256_setr_epi64x中引用功能 「私人:工會__m256i __thiscall avx_matrix :: avx_bit_mask(無符號整數)常量」(avx_bit_mask @ avx_matrix @@ ABE AT__m256i @@我@ Z?)
的代碼引用的部分是
...
#include <immintrin.h>
...
/* All zeros except for pos-th position (0..255) */
__m256i avx_matrix::avx_bit_mask(const std::size_t pos) const
{
int64_t a = (pos >= 0 && pos < 64) ? 1LL << (pos - 0) : 0;
int64_t b = (pos >= 64 && pos < 128) ? 1LL << (pos - 64) : 0;
int64_t c = (pos >= 128 && pos < 192) ? 1LL << (pos - 128) : 0;
int64_t d = (pos >= 192 && pos < 256) ? 1LL << (pos - 256) : 0;
return _mm256_setr_epi64x(a, b, c, d);
}
...
- 我已啓用
/arch:AVX
,但它沒有任何區別。 - 我的機器絕對支持AVX - 這是我用於原始Linux項目的一個。
- 另外,http://msdn.microsoft.com/en-us/library/hh977022.aspx列出了可用內部函數中的
_mm256_setr_epi64x
。
任何幫助將不勝感激。
您的鏈接說「此連接不受信任」。 – 2014-12-03 08:53:59
嘿 - 看起來像微軟忘了更新他們的證書。 – 2014-12-03 09:03:24
爲了發現這個已經被修復的問題+1。然而,現在是2014年。誰在使用32位模式? OS X現在只有64位。 Ubuntu在一年內逐步淘汰32位。 8年前,MSFT應該已經修復了這個問題。 – 2014-12-03 09:06:44