Ik probeer statisch te linken met ffmpeg in Visual C++ 2015 (Community Edition). Ik heb de libs zelf gebouwd (na een hoop gezeik met msys
).
Wat heel gek is, en ik nog nooit eerder heb gezien, is dat de linker klaagt over unresolved external symbols naar standaard C functies vanuit de libs. Bijvoorbeeld:
(let niet op de file extensies, ze zijn weldegelijk gebouwd met VC++)
Dat is raar, want _sscanf zit gewoon in LIBCMT.LIB, waar je standaard mee linkt in release builds met static stdlibs. Het vreemde is, als ik sscanf() zelf aanroep vanuit een source file in mijn project, dan verdwijnt de unresolved external symbol error. Het lijkt dus net alsof de linker vindt dat hij de symbols niet uit een andere library mag halen, terwijl dat volgens mij toch echt redelijk standaard behaviour is in MSVC++ (ik weet dat in GCC de volgorde van libraries zoals je ze meegeeft belangrijk is (geweest?), maar daar heeft MSVC++ nooit last van gehad).
Iemand enig idee hoe ik duidelijk kan maken dat ie ze gewoon uit de standaard libraries moet halen

Wat heel gek is, en ik nog nooit eerder heb gezien, is dat de linker klaagt over unresolved external symbols naar standaard C functies vanuit de libs. Bijvoorbeeld:
1>libavcodec.a(ratecontrol.o) : error LNK2001: unresolved external symbol _sscanf
(let niet op de file extensies, ze zijn weldegelijk gebouwd met VC++)
Dat is raar, want _sscanf zit gewoon in LIBCMT.LIB, waar je standaard mee linkt in release builds met static stdlibs. Het vreemde is, als ik sscanf() zelf aanroep vanuit een source file in mijn project, dan verdwijnt de unresolved external symbol error. Het lijkt dus net alsof de linker vindt dat hij de symbols niet uit een andere library mag halen, terwijl dat volgens mij toch echt redelijk standaard behaviour is in MSVC++ (ik weet dat in GCC de volgorde van libraries zoals je ze meegeeft belangrijk is (geweest?), maar daar heeft MSVC++ nooit last van gehad).
Iemand enig idee hoe ik duidelijk kan maken dat ie ze gewoon uit de standaard libraries moet halen
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.