Mixxx failed to build with /std:c++latest on MSVC. Could you please help look at this issue or provide some workarounds? Thanks in advance.
Build steps:
git clone https://github.com/mixxxdj/mixxx F:\gitP\mixxxdj\mixxx
set _CL_= /std:c++latest
mkdir F:\gitP\mixxxdj\mixxx\buildenv && cd F:\gitP\mixxxdj\mixxx\buildenv
set PATH=F:\tools\build2\bin;%PATH%
curl https://downloads.mixxx.org/dependencies/2.4/Windows/mixxx-deps-2.4-x64-windows-058063e.zip -O -L
cd F:\gitP\mixxxdj\mixxx\tools
SET PLATFORM=x64
SET CONFIGURATION=release
windows_buildenv.bat
mkdir F:\gitP\mixxxdj\mixxx\build
cd F:\gitP\mixxxdj\mixxx\build
cmake -DBULK=OFF -DFFMPEG=OFF -DHSS1394=ON -DLOCALECOMPARE=ON -DMAD=ON -DMEDIAFOUNDATION=ON -DMODPLUG=ON -DWAVPACK=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="" -DDEBUG_ASSERTIONS_FATAL=OFF -DBATTERY=ON -DBROADCAST=ON -DDOWNLOAD_MANUAL=ON -DHID=ON -DKEYFINDER=ON -DLILV=ON -DOPUS=ON -DQTKEYCHAIN=ON -DVINYLCONTROL=ON -DCMAKE_VERBOSE_MAKEFILE=OFF -L ..
cmake --build . --config Release --verbose > build.log
Error info:
cl : Command line warning D9025 : overriding '/std:c++17' with '/std:c++latest'
..\lib\xwax\timecoder_win32.cpp(59): error C2440: 'initializing': cannot convert from 'const char [10]' to 'char *'
..\lib\xwax\timecoder_win32.cpp(59): note: Conversion from string literal loses const qualifier (see /Zc:strictStrings)
..\lib\xwax\timecoder_win32.cpp(60): error C2440: 'initializing': cannot convert from 'const char [23]' to 'char *'
..\lib\xwax\timecoder_win32.cpp(60): note: Conversion from string literal loses const qualifier (see /Zc:strictStrings)
..\lib\xwax\timecoder_win32.cpp(71): error C2440: 'initializing': cannot convert from 'const char [10]' to 'char *'
..\lib\xwax\timecoder_win32.cpp(71): note: Conversion from string literal loses const qualifier (see /Zc:strictStrings)
..\lib\xwax\timecoder_win32.cpp(72): error C2440: 'initializing': cannot convert from 'const char [23]' to 'char *'
..\lib\xwax\timecoder_win32.cpp(72): note: Conversion from string literal loses const qualifier (see /Zc:strictStrings)
..\lib\xwax\timecoder_win32.cpp(83): error C2440: 'initializing': cannot convert from 'const char [10]' to 'char *'
..\lib\xwax\timecoder_win32.cpp(83): note: Conversion from string literal loses const qualifier (see /Zc:strictStrings)
..\lib\xwax\timecoder_win32.cpp(84): error C2440: 'initializing': cannot convert from 'const char [10]' to 'char *'
..\lib\xwax\timecoder_win32.cpp(84): note: Conversion from string literal loses const qualifier (see /Zc:strictStrings)
..\lib\xwax\timecoder_win32.cpp(95): error C2440: 'initializing': cannot convert from 'const char [10]' to 'char *'
The issue is here in one of our external libraries: /github. com/mixxxdj/ mixxx/blob/ 3b8295c86c16194 185e59496199917 a30c3a1a1e/ lib/xwax/ timecoder_ win32.cpp# L59
https:/
It can be fixed by adding "const" here:
https:/ /github. com/mixxxdj/ mixxx/blob/ f2d670edeb483ef b066bf7f00255d0 1df2f0017c/ lib/xwax/ timecoder. h#L39
Out of curious, why do you set /std:c++latest?