símbolo externo sin resolver __mm256_setr_epi64x
He escrito y depurado algunos códigos AVX con g ++ y ahora estoy tratando de que funcione con MSVC, pero sigo obteniendo
error LNK2019: símbolo externo sin resolver __mm256_setr_epi64x al que se hace referencia en la función "privado: unión __m256i __thiscall avx_matrix :: avx_bit_mask (unsigned int) const" (? avx_bit_mask @ avx_matrix @@ ABE? AT__m256i @@ @2525) @@
La pieza de código referenciada es
...
#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);
}
...
He habilitado/arch:AVX
, pero no hace ninguna diferencia.Mi máquina definitivamente es compatible con AVX: es la misma que usé para el proyecto original de Linux.También,http://msdn.microsoft.com/en-us/library/hh977022.aspx liza_mm256_setr_epi64x
entre los intrínsecos disponibles.Cualquier ayuda sería muy apreciada.