On 12/09/14 15:43, Mirko Puliafito wrote:
> @Luca: I'm trying both ffmpeg and libav getting the same error. It seems
> both have the same linking error (or I'm screwing up J). I'm using libav
> 10.3 just downloaded from the official libav site
> 
> @Timothy:
> 
> ------ Build started: Project: TestFFMPEG, Configuration: Release ARM ------
>>   pch.cpp
>> c:\mingw\msys\1.0\home\mirkpul\libav-10.3\libavutil\common.h(152): warning
>> C4244: 'return' : conversion from 'int64_t' to 'int32_t', possible loss of
>> data
>> c:\mingw\msys\1.0\home\mirkpul\libav-10.3\libavutil\common.h(235): warning
>> C4244: 'argument' : conversion from 'uint64_t' to 'uint32_t', possible loss
>> of data
>>   App.xaml.cpp
>>   NavigationHelper.cpp
>>   RelayCommand.cpp
>>   SuspensionManager.cpp
>>   SampleDataSource.cpp
>>   HubPage.xaml.cpp
>>   ItemPage.xaml.cpp
>>   SectionPage.xaml.cpp
>>   XamlTypeInfo.Impl.g.cpp
>> LINK : fatal error LNK1104: cannot open file 'LIBCMT.lib'
> 
> 
> It seems that libcmt.lib is not standarly added. Adding it I get:
> 
> ------ Rebuild All started: Project: TestFFMPEG, Configuration: Release ARM
>> ------
>>   pch.cpp
>> c:\mingw\msys\1.0\home\mirkpul\libav-10.3\libavutil\common.h(152): warning
>> C4244: 'return' : conversion from 'int64_t' to 'int32_t', possible loss of
>> data
>> c:\mingw\msys\1.0\home\mirkpul\libav-10.3\libavutil\common.h(235): warning
>> C4244: 'argument' : conversion from 'uint64_t' to 'uint32_t', possible loss
>> of data
>>   App.xaml.cpp
>>   NavigationHelper.cpp
>>   RelayCommand.cpp
>>   SuspensionManager.cpp
>>   SampleDataSource.cpp
>>   HubPage.xaml.cpp
>>   ItemPage.xaml.cpp
>>   SectionPage.xaml.cpp
>>   XamlTypeInfo.Impl.g.cpp
>>   Generating code
>>   Finished generating code
>>   XamlTypeInfo.g.cpp
>> libavcodec.a(vp8.o) : error LNK2001: unresolved external symbol
>> __imp_CreateSemaphoreA
>> libavcodec.a(pthread_frame.o) : error LNK2001: unresolved external symbol
>> __imp_CreateSemaphoreA
>> libavcodec.a(pthread_slice.o) : error LNK2001: unresolved external symbol
>> __imp_CreateSemaphoreA
>> libavcodec.a(pthread_frame.o) : error LNK2001: unresolved external symbol
>> _beginthreadex
>> libavcodec.a(pthread_slice.o) : error LNK2001: unresolved external symbol
>> _beginthreadex
>> libavutil.a(log.o) : error LNK2001: unresolved external symbol getenv
>> libavutil.a(log.o) : error LNK2001: unresolved external symbol
>> __imp_GetStdHandle
>> libavutil.a(log.o) : error LNK2001: unresolved external symbol
>> __imp_GetConsoleScreenBufferInfo
>> libavutil.a(log.o) : error LNK2001: unresolved external symbol
>> __imp_SetConsoleTextAttribute
>> libavutil.a(random_seed.o) : error LNK2001: unresolved external symbol
>> __imp_CryptAcquireContextA
>> libavutil.a(random_seed.o) : error LNK2001: unresolved external symbol
>> __imp_CryptReleaseContext
>> libavutil.a(random_seed.o) : error LNK2001: unresolved external symbol
>> __imp_CryptGenRandom
>> libavutil.a(cpu.o) : error LNK2001: unresolved external symbol
>> __imp_GetProcessAffinityMask
>> C:\Users\mirkpul\documents\visual studio
>> 2013\Projects\TestFFMPEG\ARM\Release\TestFFMPEG\TestFFMPEG.exe : fatal
>> error LNK1120: 10 unresolved externals
>> ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
> 
> 
> I've checked and a part of the missing symbols come from kernel32.lib that
> is excluded by defaults on Windows Phone apps.

That is quite useful:

- threads support missing (what does window phone use for threads?)
- log support requires non-standard support (I have patches for android
and iOS, I can refresh them and see if we can add something window
specific while at it)
- crypto primitives seems not matching. (what does window phone use for
getting random values?)

> I've also tried to use your guide:
> https://libav.org/platform.html#Linking-to-Libav-with-Microsoft-Visual-C_002b_002b

> but setting Multi Thread gives that result:
> 
> ------ Build started: Project: TestFFMPEG, Configuration: Release ARM ------
>> C:\Program Files
>> (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1679,5):
>> error MSB8024: Using static version of the C++ runtime library is not
>> supported.

Check the link line used and see if could be changed to use the
shared/dynamic version of the C++ runtime.

Thanks a lot

lu
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to