[flac-dev] FLAC__SSE_OS change
lvqcl
lvqcl.mail at gmail.com
Sun Jun 26 09:42:27 UTC 2016
Erik de Castro Lopo wrote:
> lvqcl wrote:
>
>> error LNK2019: unresolved external symbol ___cpuidex referenced in function _FLAC__cpu_info_x86 libflac_static.lib
>> fatal error LNK1120: 1 unresolved externals flac.exe
>>
>> The code
>>
>> if (FLAC__AVX_SUPPORTED)
>> __cpuidex(cpuinfo, level, 0); /* for AVX2 detection */
>> else
>> __cpuid(cpuinfo, level); /* some old compilers don't support __cpuidex */
>>
>> adds reference to __cpuidex() even though MSVC2005 doesn't have it
>> (according to MSDN, it was added to MSVC 2008 SP1).
>
> That suggests that FLAC__AVX_SUPPORTED is true. Can you set it to false
> for MSVC2005?
No, FLAC__AVX_SUPPORTED is 0 (initially it's undefined, then inside cpu.h
it's defined as 0).
MSVC cannot discard unused references in debug builds and when LTCG is on,
for example: <http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2016-April/193437.html>
And currently LTCG is enabled for release builds.
More information about the flac-dev
mailing list