Alright, i have kind of a fix. Here is the diff: http://pastebin.com/fv4tRfEF
Basically, it looks like you cant MMX on win64. So I added mmx as an optional parameter to the 3 machine definitions that get used on windows. When on MSVC 64bit, the mmx arch will get overruled. On the kernel side, I added LV_HAVE_MMX to the dot prod kernel. Since this kernel requires MMX, in this case the build system will prevent its building when MMX is not available (aka mmx is overruled): -josh On 07/16/2012 10:42 AM, Josh Blum wrote: > The problem is that volk_16i_32fc_dot_prod_32fc_a_sse is using MMX > instructions which it seems that you cant do in 64 bit windows > > These should probably be replaced with SSE equivalent functions > m0 = _mm_set_pi16(*(aPtr+3), *(aPtr+2), *(aPtr+1), *(aPtr+0)); > m1 = _mm_set_pi16(*(aPtr+7), *(aPtr+6), *(aPtr+5), *(aPtr+4)); > > -josh > > On 07/16/2012 10:30 AM, Josh Blum wrote: >> >> >> On 07/16/2012 06:45 AM, Pol Henarejos wrote: >>> Dear list, >>> >>> I am trying to compile gnuradio using MSVC2010 but I cannot compile >>> Volk. I tried with next and master branches but no luck. Nevertheless, >>> if I use maint branch it works correctly. I am compiling the code for >>> x64 target. Please find the output of compiler. It is in spanish but it >>> means "unresolved external symbol xxx". >>> >> >> Hmm... looks like a win64 problem. this post seem to have the same >> issue: http://software.intel.com/en-us/forums/showthread.php?t=62824 >> >> It seems to suggest there is a matter of including headers in the >> correct order. I will get back to this thread if I figure it out! >> >> -josh >> >>> Thanks for your help. >>> >>> >>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _m_punpcklwd >>> sin resolver al que se hace referencia en la función _mm_cvtpi16_ps >>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _m_punpcklwd sin >>> resolver >>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _mm_cvt_pi2ps >>> sin resolver al que se hace referencia en la función _mm_cvtpi16_ps >>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _mm_cvt_pi2ps >>> sin resolver >>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _m_punpckhwd >>> sin resolver al que se hace referencia en la función _mm_cvtpi16_ps >>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _m_punpckhwd sin >>> resolver >>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _m_pcmpgtw sin >>> resolver al que se hace referencia en la función _mm_cvtpi16_ps >>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _m_pcmpgtw sin >>> resolver >>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo >>> _mm_setzero_si64 sin resolver al que se hace referencia en la función >>> _mm_cvtpi16_ps >>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _mm_setzero_si64 >>> sin resolver >>> 2>volk_machine_sse2.obj : error LNK2019: símbolo externo _mm_set_pi16 >>> sin resolver al que se hace referencia en la función "void __cdecl >>> volk_16i_32fc_dot_prod_32fc_a_sse(class std::complex<float> *,short >>> const *,class std::complex<float> const *,unsigned int)" >>> (?volk_16i_32fc_dot_prod_32fc_a_sse@@YAXPEAV?$complex@M@std@@PEBFPEBV12@I@Z) >>> 2>volk_machine_avx.obj : error LNK2001: símbolo externo _mm_set_pi16 sin >>> resolver >>> >>> >>> > _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio