Log in

View Full Version : Compiling FFmpeg with VapourSynth using MSVS and ShiftMediaProject


Mitra
15th August 2024, 22:23
Hello all,

I am trying to compile FFmpeg with the --enable-vapoursynth flag using MSVS 2019 and ShiftMediaProject. Based on the steps mentioned in this post (https://forum.doom9.org/showthread.php?p=1837548#post1837548) , but it gives me the following errors:


37>------ Build started: Project: ffmpeg, Configuration: Release x64 ------
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_init
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_finalize
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_evaluateScript
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_createScript
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_freeScript
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_getError
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_getOutput
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_getCore
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_getVSApi
37>F:\MyFFmpegNew\msvc\FFmpeg\SMP\..\..\..\msvc\\bin\x64\ffmpeg.exe : fatal error LNK1120: 9 unresolved externals
37>Done building project "ffmpeg.vcxproj" -- FAILED.
========== Build: 36 succeeded, 1 failed, 8 up-to-date, 0 skipped ==========



Based on this post (https://forum.doom9.org/showthread.php?p=1840806#post1840806) , I added "/linker_option /lpython3.8m /lstdc++" to the additional options of the linker, but now it gives me the following errors:



37>------ Build started: Project: ffmpeg, Configuration: Release x64 ------
37>LINK : warning LNK4044: unrecognized option '/linker_option'; ignored
37>LINK : warning LNK4044: unrecognized option '/lpython3.8m'; ignored
37>LINK : warning LNK4044: unrecognized option '/lstdc++'; ignored
37>libavfilter.lib(zimg.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
37>LINK : warning LNK4044: unrecognized option '/linker_option'; ignored
37>LINK : warning LNK4044: unrecognized option '/lpython3.8m'; ignored
37>LINK : warning LNK4044: unrecognized option '/lstdc++'; ignored
37>libavformat.lib(invert_limb_table.obj) : warning LNK4078: multiple '.rdata' sections found with different attributes (C0400040)
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_init
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_finalize
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_evaluateScript
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_createScript
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_freeScript
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_getError
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_getOutput
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_getCore
37>libavformat.lib(vapoursynth.obj) : error LNK2001: unresolved external symbol __imp_vsscript_getVSApi
37>F:\MyFFmpegNew\msvc\FFmpeg\SMP\..\..\..\msvc\\bin\x64\ffmpeg.exe : fatal error LNK1120: 9 unresolved externals
37>Done building project "ffmpeg.vcxproj" -- FAILED.
========== Build: 36 succeeded, 1 failed, 8 up-to-date, 0 skipped ==========


I'm not sure I added these flags in the correct place or not.

Without --enable-vapoursynth, FFmpeg compiles without any problems.

Please guide me on how to compile it.

Selur
17th August 2024, 14:58
iirc. MBAS (https://github.com/m-ab-s/media-autobuild_suite) can build 64bit ffmpeg with Vapoursynth support

Mitra
17th August 2024, 19:14
iirc. MBAS (https://github.com/m-ab-s/media-autobuild_suite) can build 64bit ffmpeg with Vapoursynth support

Thank you, I'll try it.
I hope someone can help me to compile it with Visual Studio too.