unresolved external symbol __mm256_setr_epi64x
Ich habe AVX-Code mit g ++ geschrieben und debuggt und versuche jetzt, ihn mit MSVC zum Laufen zu bringen, aber ich bekomme immer wieder
error LNK2019: nicht aufgelöstes externes Symbol __mm256_setr_epi64x, auf das in der Funktion "private: union __m256i __thiscall avx_matrix :: avx_bit_mask (unsigned int) const" verwiesen wird (? avx_bit_mask @ avx_matrix @@ ABE? AT__m256i @) @ Z
Der Code, auf den verwiesen wird, ist
...
#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);
}
...
Ich habe @ aktivie/arch:AVX
, aber es macht keinen Unterschied.Mein Computer unterstützt definitiv AVX - es ist das gleiche, das ich für das ursprüngliche Linux-Projekt verwendet habe.Ebenfalls,http: //msdn.microsoft.com/en-us/library/hh977022.asp lists_mm256_setr_epi64x
unter den verfügbaren Eigenschaften.Jede Hilfe wäre sehr dankbar.