Building GStreamer windows VS2019 x64 issues
I am trying to build gstreamer using VS2019 x64 command prompt and ran into the following issue and now stuck after taking these 4 steps.
- OCS profile had asm code not which is not compiling in x64. I kind of commented the code to proceed.
- Linking error open264(cpuid.o : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64')
[1689/4556] Linking target subprojects/gst-plugins-bad/sys/nvcodec/gstnvcodec.dll.
Creating library subprojects\\gst-plugins-bad\\sys\\nvcodec\\gstnvcodec.lib and object subprojects\\gst-plugins-bad\\sys\\nvcodec\\gstnvcodec.exp
[1693/4556] Linking target subprojects/gst-plugins-bad/sys/winks/gstwinks.dll.
Creating library subprojects\\gst-plugins-bad\\sys\\winks\\gstwinks.lib and object subprojects\\gst-plugins-bad\\sys\\winks\\gstwinks.exp
[1700/4556] Linking target subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.dll.
Creating library subprojects\\gst-plugins-bad\\sys\\winscreencap\\gstwinscreencap.lib and object subprojects\\gst-plugins-bad\\sys\\winscreencap\\gstwinscreencap.exp
[1748/4556] Linking target subprojects/gst-plugins-bad/ext/dash/gstdash.dll.
Creating library subprojects\\gst-plugins-bad\\ext\\dash\\gstdash.lib and object subprojects\\gst-plugins-bad\\ext\\dash\\gstdash.exp
[1749/4556] Linking static target subprojects/openh264/codec/common/libcommon.a.
FAILED: subprojects/openh264/codec/common/libcommon.a
lib "/NOLOGO" /MACHINE:x64 /OUT:subprojects/openh264/codec/common/libcommon.a @subprojects/openh264/codec/common/libcommon.a.rsp
subprojects\openh264\codec\common\8b33b39@@common@sta\cpuid.o : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'
[1751/4556] Compiling C++ object subprojects/openh264/codec/decoder/14b7291@@decoder@sta/core_src_memmgr_nal_unit.cpp.obj.
D:\GStreamerSource\gst-build\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h(1): warning C4828: The file contains a character starting at offset 0x26b1 that is illegal in the current source character set (codepage 65001).
D:\GStreamerSource\gst-build\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h(1): warning C4828: The file contains a character starting at offset 0x2797 that is illegal in the current source character set (codepage 65001).
[1753/4556] Compiling C++ object subprojects/openh264/codec/decoder/14b7291@@decoder@sta/core_src_decoder_data_tables.cpp.obj.
D:\GStreamerSource\gst-build\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h(1): warning C4828: The file contains a character starting at offset 0x26b1 that is illegal in the current source character set (codepage 65001).
D:\GStreamerSource\gst-build\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h(1): warning C4828: The file contains a character starting at offset 0x2797 that is illegal in the current source character set (codepage 65001).
[1756/4556] Compiling C++ object subprojects/openh264/codec/decoder/14b7291@@decoder@sta/core_src_error_concealment.cpp.obj.
D:\GStreamerSource\gst-build\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h(1): warning C4828: The file contains a character starting at offset 0x26b1 that is illegal in the current source character set (codepage 65001).
D:\GStreamerSource\gst-build\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h(1): warning C4828: The file contains a character starting at offset 0x2797 that is illegal in the current source character set (codepage 65001).
[1758/4556] Compiling C++ object subprojects/openh264/codec/decoder/14b7291@@decoder@sta/core_src_mv_pred.cpp.obj.
D:\GStreamerSource\gst-build\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h(1): warning C4828: The file contains a character starting at offset 0x26b1 that is illegal in the current source character set (codepage 65001).
D:\GStreamerSource\gst-build\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h(1): warning C4828: The file contains a character starting at offset 0x2797 that is illegal in the current source character set (codepage 65001).
ninja: build stopped: subcommand failed.
- After disabling -Dgst-plugins-bad:openh264=disabled ..following was the hiccup for the ugly plugins
ninja: Entering directory `build'
[1/2475] Linking static target subprojects/x264/libx264-10.a.
FAILED: subprojects/x264/libx264-10.a
lib "/NOLOGO" /MACHINE:x64 /OUT:subprojects/x264/libx264-10.a @subprojects/x264/libx264-10.a.rsp
subprojects\x264\bc8c305@@x264-10@sta\dct-32.obj : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'
[2/2475] Linking static target subprojects/x264/libx264-8.a.
FAILED: subprojects/x264/libx264-8.a
lib "/NOLOGO" /MACHINE:x64 /OUT:subprojects/x264/libx264-8.a @subprojects/x264/libx264-8.a.rsp
subprojects\x264\bc8c305@@x264-8@sta\dct-32.obj : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'
[10/2475] Compiling C object subprojects/x264/bc8c305@@x264@exe/x264.c.obj.
ninja: build stopped: subcommand failed.
- after disabling -Dgst-plugins-ugly:x264=disabled ..ffmpeg build failed .
[863/3203] Linking target subprojects/FFmpeg/avutil-56.dll.
FAILED: subprojects/FFmpeg/avutil-56.dll
link @subprojects/FFmpeg/avutil-56.dll.rsp
subprojects\FFmpeg\00cc031@@avutil-static@sta\cpuid.o : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'
[872/3203] Compiling C object subprojects/FFmpeg/00cc031@@test_avutil_dict@exe/libavutil_tests_dict.c.obj.
ninja: build stopped: subcommand failed.
I presume 64 bit build would require 64 bit libs to link. Is there some step i am missing ? Feeling lost.
Thanks Bishwaroop
Edited by Nirbheek Chauhan