tdesktop icon indicating copy to clipboard operation
tdesktop copied to clipboard

tg_owt fails to build on windows-x64

Open machfe opened this issue 10 months ago • 4 comments

Steps to reproduce

D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): error C2676: binary '<<': 'rtc::webrtc_checks_impl::LogStreamer<>' does not define this operator or a conversion to a type acceptable to the predefined operator
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(243): note: could be 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(const U &) const'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(const U &) const': could not deduce template argument for 'V'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(235): note: or       'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const': could not deduce template argument for 'V'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: the template instantiation context (the oldest one first) is
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/vector_math.h(63): note: see reference to function template instantiation 'rtc::ArrayView<float,-4711>::ArrayView<rtc::ArrayView<float,-4711>,0x0>(U &)' being compiled
        with
        [
            U=rtc::ArrayView<float,-4711>
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/vector_math.h(63): note: see the first reference to 'rtc::ArrayView<float,-4711>::ArrayView' in 'webrtc::aec3::VectorMath::Sqrt'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(248): note: see reference to function template instantiation 'rtc::ArrayView<float,-4711>::ArrayView<T>(U *,size_t)' being compiled
        with
        [
            T=float,
            U=float
        ]
[93/1381] Building CXX object CMakeFiles\tg_owt_avx2.dir\src\modules\audio_processing\aec3\fft_data_avx2.cc.obj
FAILED: CMakeFiles/tg_owt_avx2.dir/src/modules/audio_processing/aec3/fft_data_avx2.cc.obj


D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): error C2676: binary '<<': 'rtc::webrtc_checks_impl::LogStreamer<>' does not define this operator or a conversion to a type acceptable to the predefined operator
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(243): note: could be 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(const U &) const'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(const U &) const': could not deduce template argument for 'V'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(235): note: or       'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const': could not deduce template argument for 'V'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: the template instantiation context (the oldest one first) is
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/fft_data.h(67): note: see reference to function template instantiation 'rtc::ArrayView<float,-4711>::ArrayView<rtc::ArrayView<float,-4711>,0x0>(U &)' being compiled
        with
        [
            U=rtc::ArrayView<float,-4711>
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/fft_data.h(67): note: see the first reference to 'rtc::ArrayView<float,-4711>::ArrayView' in 'webrtc::FftData::Spectrum'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(248): note: see reference to function template instantiation 'rtc::ArrayView<float,-4711>::ArrayView<T>(U *,size_t)' being compiled
        with
        [
            T=float,
            U=float
        ]
[94/1381] Building CXX object CMakeFiles\tg_owt_avx2.dir\src\modules\audio_processing\agc2\rnn_vad\vector_math_avx2.cc.obj

D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(236): error C2440: '<function-style-cast>': cannot convert from 'initializer list' to 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>>'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(236): note: 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>>::LogStreamer': no overloaded function could convert all the argument types
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(280): note: could be 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>>::LogStreamer(T,const rtc::webrtc_checks_impl::LogStreamer<> *)'
        with
        [
            T=rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(236): note: 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>>::LogStreamer(T,const rtc::webrtc_checks_impl::LogStreamer<> *)': cannot convert argument 1 from 'rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt,int>' to 'T'
        with
        [
            T=rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(236): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(236): note: while trying to match the argument list '(rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt,int>, const rtc::webrtc_checks_impl::LogStreamer<> *)'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(236): note: the template instantiation context (the oldest one first) is
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/block_buffer.h(41): note: see reference to function template instantiation 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>> rtc::webrtc_checks_impl::LogStreamer<>::operator <<<int,rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>,0x0>(U) const' being compiled
        with
        [
            U=int
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): error C2676: binary '<<': 'rtc::webrtc_checks_impl::LogStreamer<>' does not define this operator or a conversion to a type acceptable to the predefined operator
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(243): note: could be 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(const U &) const'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(const U &) const': could not deduce template argument for 'V'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(235): note: or       'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: 'rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator <<(U) const': could not deduce template argument for 'V'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\api/array_view.h(162): note: the template instantiation context (the oldest one first) is
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/block.h(62): note: see reference to function template instantiation 'rtc::ArrayView<float,64>::ArrayView<_Ty>(U *,size_t)' being compiled
        with
        [
            _Ty=float,
            U=float
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/block.h(62): note: see the first reference to 'rtc::ArrayView<float,64>::ArrayView' in 'webrtc::Block::View'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(288): error C2440: '<function-style-cast>': cannot convert from 'initializer list' to 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>,T>'
        with
        [
            T=rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(288): note: 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>,T>::LogStreamer': no overloaded function could convert all the argument types
        with
        [
            T=rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(280): note: could be 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>,T>::LogStreamer(T,const rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>> *)'
        with
        [
            T=rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(288): note: 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>,T>::LogStreamer(T,const rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>> *)': cannot convert argument 1 from 'rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt,int>' to 'T'
        with
        [
            T=rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(288): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(288): note: while trying to match the argument list '(rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt,int>, const rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>> *)'
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\rtc_base/checks.h(288): note: the template instantiation context (the oldest one first) is
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/block_buffer.h(41): note: see reference to function template instantiation 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>,T> rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>>::operator <<<int,rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>,0x0>(U) const' being compiled
        with
        [
            T=rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>,
            U=int
        ]
D:\03_Data\BuildPath\Libraries\win64\tg_owt\src\modules/audio_processing/aec3/block_buffer.h(41): note: see the first reference to 'rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong,unsigned __int64>>::operator <<' in 'webrtc::BlockBuffer::OffsetIndex'
[107/1381] Building CXX object CMakeFiles\tg_owt.dir\src\rtc_base\async_packet_socket.cc.obj
FAILED: CMakeFiles/tg_owt.dir/src/rtc_base/async_packet_socket.cc.obj

Expected behaviour

no error

Actual behaviour

error C2676 error C2440

Operating system

windows 11

Version of Telegram Desktop

Desktop

Installation source

Static binary from official website

Crash ID

No response

Logs


machfe avatar Feb 14 '25 09:02 machfe

Weird, I was able to build it before, but now it's broken just like you.

FishOrBear avatar Apr 02 '25 06:04 FishOrBear

After reinstalling the environment, it can be compiled normally

FishOrBear avatar Apr 03 '25 01:04 FishOrBear

reinstall the visual studio.

fatal-strike-official avatar Jun 07 '25 21:06 fatal-strike-official

Hey there!

This issue was inactive for a long time and will be automatically closed in 30 days if there isn't any further activity. We therefore assume that the user has lost interest or resolved the problem on their own.

Don't worry though; if this is an error, let us know with a comment and we'll be happy to reopen the issue.

Thanks!

github-actions[bot] avatar Dec 05 '25 02:12 github-actions[bot]