Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

supernova: fix msvc build #4763

Merged
merged 6 commits into from
Apr 13, 2020
Merged

Conversation

dyfer
Copy link
Member

@dyfer dyfer commented Feb 14, 2020

Purpose and Motivation

Fixes #3766.
This is an attempt to make supernova available on Windows with the supported toolchain (Visual Studio). I think I figured out what to change, but I'm looking for advice how to change it. More information below.

EDIT: In the interest of brevity, I've hidden parts of the description that have already been addressed.

EDIT: This builds and runs on my machine under VS 2017. CI fails because I'm using my own fork of nova-tt. Is this something to be solved temporarily, before changes to nova-tt are submitted upstream?
EDIT 2: I've temporarily changed the nova-tt submodule to use my fork for the CI to pass.
EDIT 3: nova-tt submodule is now updated upstream

Types of changes

  • Bug fix
  • (Documentation)

Notes

nova-tt

nova-tt generally has cross-platform implementation for the functionality we use, but it seems that the rw_mutex.hpp had a bug and there were no proper guards around pthread code on windows. I believe that boost::shared_mutex is a non-recursive one, so I exposed it under nova_tt::nonrecursive_rw_mutex and I added guards around pthread code as well as nova_tt::rw_mutex (which we don't use).
AFAIU this should be submitted upstream and I'm happy to do that once others take a look and give feedback whether this looks reasonable.

casts

In sc_osc_handler.hpp and static_pool.hpp I was getting an error cannot convert from std::_array_iterator_T(...) to (void *) or (const char*). The solution I came up with doesn't seem proper, but it works. I'd love to learn how to deal with this properly.

winsock2.h

I was getting errors that suggested that Windows libraries are not properly referenced. Adding this header here and here solved it, but maybe there's a better place to include it.

EDIT: I replaced these includes with SC_Win32Utils.h which was not included before. I did this for every file that failed to build...

capture mode

In dsp_thread_queue.hpp I was getting an error "backoff_iterations" cannot be implicitly captured because no default capture mode has been specified. I'm not sure if my solution is correct.

cache prefetch

I added prefetch function for MSVC. I'm not sure if it's better to have it or skip prefetching under MSVC. My (limited) testing of builds with and without this did not yield conclusive results.

Other changes seem more straightforward, like replacing not with !. There are also some other casts which were needed but I'm not sure why.

To-do list

  • Code is tested
  • Updated documentation
  • This PR is ready for review

I think it would be best to squash merge this PR (?)

@@ -270,12 +270,12 @@ class portaudio_backend : public detail::audio_backend_base<sample_type, float,
if (statusFlags & (paInputOverflow | paInputUnderflow | paOutputOverflow | paOutputUnderflow))
engine_functor::sync_clock();

const float* inputs[input_channels];
const float** inputs = new const float*[input_channels];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the rt-audio thread, so new is forbidden. msvc doesn't support VLA, but it supports _alloca (also, if you new, without delete, you'll leak memory

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@@ -634,7 +634,7 @@ void sc_osc_handler::handle_receive_udp(const boost::system::error_code& error,
return;
}

handle_packet_async(recv_buffer_.begin(), bytes_transferred, make_shared<udp_endpoint>(udp_remote_endpoint_));
handle_packet_async(&(*recv_buffer_.begin()), bytes_transferred, make_shared<udp_endpoint>(udp_remote_endpoint_));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

recv_buffer_.data()?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@@ -425,7 +425,7 @@ template <typename runnable, typename Alloc = std::allocator<void*>> class dsp_q
const int backoff_iterations = 100;

vector<nanoseconds> measured_values;
generate_n(back_inserter(measured_values), 16, [] {
generate_n(back_inserter(measured_values), 16, [&] {
Copy link
Member

@jrsurge jrsurge Feb 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our style guide mentions using explicit capture where possible (https://github.com/supercollider/supercollider/wiki/Cpp-code-style-guidelines#lambdas)

So this becomes (at a quick glance - I might have missed something):

diff~~ ~~- generate_n(back_inserter(measured_values), 16, [&] {~~ ~~+ generate_n(back_inserter(measured_values), 16, [&max_backup_loops, ~~&watchdog_iterations] {~~ ~~

EDIT: See Brian's suggestion below - I messed this up trying to reply too quickly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

max_backup_loops does not need to be captured because it's a static member. i'm pretty sure the C++ standard dictates that if backoff_iterations is constexpr then a lambda can read its value without capturing it, but apparently MSVC disagrees (https://godbolt.org/z/v7D-2s).

in general in C++ you want to pass small data (things that can fit in 1 or 2 registers, i.e. up to 128 bits on x86_64) by value, and everything larger by reference. this (generally) produces faster and smaller code. a copy is cheap for small types and you save time/instructions by referencing memory directly. it doesn't actually make a difference here AFAIK, but i would write this capture list as [backoff_iterations] (copying the value) out of hygienic habit.

.appveyor.yml Outdated
@@ -88,7 +88,7 @@ before_build:
- cd build

build_script:
- cmake -G "%CMAKE_GENERATOR%" -D CMAKE_PREFIX_PATH=%QT_DIR% ..
- cmake -G "%CMAKE_GENERATOR%" -D CMAKE_PREFIX_PATH=%QT_DIR% -D SUPERNOVA=ON ..
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@mossheim
Copy link
Contributor

@dyfer thanks for this!!!

re your questions:

nova-tt

AFAIU this should be submitted upstream and I'm happy to do that once others take a look and give feedback whether this looks reasonable.

looks fine to me, @timblechmann can give better feedback since i am unfamiliar with the library

winsock2.h

I was getting errors that suggested that Windows libraries are not properly referenced.

do you have those errors? i'm a bit dubious about where those headers includes are right now

@@ -270,12 +270,12 @@ class portaudio_backend : public detail::audio_backend_base<sample_type, float,
if (statusFlags & (paInputOverflow | paInputUnderflow | paOutputOverflow | paOutputUnderflow))
engine_functor::sync_clock();

const float* inputs[input_channels];
const float** inputs = (const float**)alloca(sizeof(float*) * input_channels);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is more modernly written as auto** inputs = static_cast<const float**>(alloca(sizeof(float*) * input_channels));, same below.

@@ -72,7 +72,7 @@ int32_t node_graph::generate_node_id(void) {
int32_t new_id;
do {
for (;;) {
new_id = -std::abs<int32_t>(server_node::hash(generated_id));
new_id = -std::abs(static_cast<int32_t>(server_node::hash(generated_id)));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it looks to me like both of these casts are unnecessary, since the functions already return int32_t.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without this cast I'm getting ambiguous call to overloaded function error:

node_graph.cpp
Info: Boost.Config is older than your compiler version - probab
ly nothing bad will happen - but you may wish to look for an up
date Boost version.  Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESS
AGE to suppress this message.
C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp_t
hread_queue/dsp_thread_queue.hpp(70): warning C4200: nonstandard
extension used: zero-sized array in struct/union [C:\Users\dyfee\
Documents\src\supercollider\build\server\supernova\libsupernova.v
cxproj]
C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp
_thread_queue/dsp_thread_queue.hpp(70): note: This member will
be ignored by a defaulted constructor or copy/move assignment o
perator
c:\users\dyfee\documents\src\supercollider\server\supernova\ser
ver\dependency_graph_generator.hpp(191): note: see reference to
 class template instantiation 'nova::dsp_thread_queue_item<nova
::dsp_queue_node<nova::rt_pool_allocator<void *>>,nova::rt_pool
_allocator<void *>>::successor_list::data_t' being compiled
C:\Users\dyfee\Documents\src\supercollider\server\supernova\serve
r\node_graph.cpp(62): error C2668: 'abs': ambiguous call to overl
oaded function [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucr
t\stdlib.h(289): note: could be 'int abs(int)'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucr
t\stdlib.h(359): note: or       'long abs(const long) throw()'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucr
t\stdlib.h(364): note: or       '__int64 abs(const __int64) thr
ow()'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\V
C\Tools\MSVC\14.16.27023\include\cstdlib(19): note: or       'd
ouble abs(double) noexcept'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\V
C\Tools\MSVC\14.16.27023\include\cstdlib(24): note: or       'f
loat abs(float) noexcept'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\V
C\Tools\MSVC\14.16.27023\include\cstdlib(29): note: or       'l
ong double abs(long double) noexcept'
C:\Users\dyfee\Documents\src\supercollider\server\supernova\ser
ver\node_graph.cpp(62): note: while trying to match the argumen
t list '(size_t)'
Done Building Project "C:\Users\dyfee\Documents\src\supercollider
\build\server\supernova\libsupernova.vcxproj" (default targets) -
- FAILED.

@dyfer
Copy link
Member Author

dyfer commented Feb 20, 2020

Thanks @brianlheim

winsock2.h

I was getting errors that suggested that Windows libraries are not properly referenced.

do you have those errors? i'm a bit dubious about where those headers includes are right now

Here's the output from the relevant section of the build without that extra header include:

Sorry I didn't know how to unwrap the lines...
C:\Users\dyfee\Documents\src\supercollider\build>cmake --build . --config RelWithDebInfo --target install
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 2/20/2020 09:06:31 AM.
Project "C:\Users\dyfee\Documents\src\supercollider\build\install.vcxproj" on node
1 (default targets).
Project "C:\Users\dyfee\Documents\src\supercollider\build\install.vcxproj" (1) is b
uilding "C:\Users\dyfee\Documents\src\supercollider\build\ZERO_CHECK.vcxproj" (2) o
n node 1 (default targets).
InitializeBuildStatus:
  Creating "x64\RelWithDebInfo\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" becaus
  e "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
FinalizeBuildStatus:
  Deleting file "x64\RelWithDebInfo\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
  Touching "x64\RelWithDebInfo\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate
  ".
Done Building Project "C:\Users\dyfee\Documents\src\supercollider\build\ZERO_CHECK.
vcxproj" (default targets).

Project "C:\Users\dyfee\Documents\src\supercollider\build\install.vcxproj" (1) is b
uilding "C:\Users\dyfee\Documents\src\supercollider\build\ALL_BUILD.vcxproj" (3) on
 node 1 (default targets).
Project "C:\Users\dyfee\Documents\src\supercollider\build\ALL_BUILD.vcxproj" (3) is
 building "C:\Users\dyfee\Documents\src\supercollider\build\server\plugins\BinaryOp
UGens.vcxproj" (4) on node 1 (default targets).
Project "C:\Users\dyfee\Documents\src\supercollider\build\server\plugins\BinaryOpUG
ens.vcxproj" (4) is building "C:\Users\dyfee\Documents\src\supercollider\build\lang
\sclang.vcxproj" (5) on node 1 (default targets).
Project "C:\Users\dyfee\Documents\src\supercollider\build\lang\sclang.vcxproj" (5)
is building "C:\Users\dyfee\Documents\src\supercollider\build\external_libraries\bo
ost_filesystem_lib.vcxproj" (6) on node 1 (default targets).
InitializeBuildStatus:
  Creating "boost_filesystem_lib.dir\RelWithDebInfo\boost_fi.B6DFB7CC.tlog\unsucces
  sfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  boost_filesystem_lib.vcxproj -> C:\Users\dyfee\Documents\src\supercollider\build\
  external_libraries\RelWithDebInfo\boost_filesystem_lib.lib
FinalizeBuildStatus:
  Deleting file "boost_filesystem_lib.dir\RelWithDebInfo\boost_fi.B6DFB7CC.tlog\uns
  uccessfulbuild".
  Touching "boost_filesystem_lib.dir\RelWithDebInfo\boost_fi.B6DFB7CC.tlog\boost_fi
  lesystem_lib.lastbuildstate".
Done Building Project "C:\Users\dyfee\Documents\src\supercollider\build\external_li
braries\boost_filesystem_lib.vcxproj" (default targets).

(...)

Project "C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\supernov
a.vcxproj" (20) is building "C:\Users\dyfee\Documents\src\supercollider\build\serve
r\supernova\libsupernova.vcxproj" (22) on node 1 (default targets).
Project "C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsuper
nova.vcxproj" (22) is building "C:\Users\dyfee\Documents\src\supercollider\build\ex
ternal_libraries\oscpack.vcxproj" (23) on node 1 (default targets).
InitializeBuildStatus:
  Creating "oscpack.dir\RelWithDebInfo\oscpack.tlog\unsuccessfulbuild" because "Alw
  aysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  All outputs are up-to-date.
Lib:
  All outputs are up-to-date.
  oscpack.vcxproj -> C:\Users\dyfee\Documents\src\supercollider\build\external_libr
  aries\RelWithDebInfo\oscpack.lib
FinalizeBuildStatus:
  Deleting file "oscpack.dir\RelWithDebInfo\oscpack.tlog\unsuccessfulbuild".
  Touching "oscpack.dir\RelWithDebInfo\oscpack.tlog\oscpack.lastbuildstate".
Done Building Project "C:\Users\dyfee\Documents\src\supercollider\build\external_li
braries\oscpack.vcxproj" (default targets).

InitializeBuildStatus:
  Creating "libsupernova.dir\RelWithDebInfo\libsupernova.tlog\unsuccessfulbuild" be
  cause "AlwaysCreate" was specified.
CustomBuild:
  All outputs are up-to-date.
ClCompile:
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16
  .27023\bin\HostX86\x64\CL.exe /c /IC:\Users\dyfee\Documents\src\supercollider\bui
  ld\common /IC:\Users\dyfee\Documents\src\supercollider\external_libraries /I"C:\U
  sers\dyfee\Documents\src\supercollider\external_libraries\nova-simd" /I"C:\Users\
  dyfee\Documents\src\supercollider\external_libraries\nova-tt" /IC:\Users\dyfee\Do
  cuments\src\supercollider\external_libraries\boost /IC:\Users\dyfee\Documents\src
  \supercollider\include\plugin_interface /IC:\Users\dyfee\Documents\src\supercolli
  der\include\common /IC:\Users\dyfee\Documents\src\supercollider\common /IC:\Users
  \dyfee\Documents\src\supercollider\include\server /IC:\Users\dyfee\Documents\src\
  supercollider\server\scsynth /IC:\Users\dyfee\Documents\src\supercollider\externa
  l_libraries\boost_endian /IC:\Users\dyfee\Documents\src\supercollider\external_li
  braries\boost_sync\include /IC:\Users\dyfee\Documents\src\supercollider\server\su
  pernova\. /IC:\Users\dyfee\Documents\src\supercollider\external_libraries\portaud
  io_sc_org\include /IC:\Users\dyfee\Documents\src\x64\libsndfile\include /IC:\User
  s\dyfee\Documents\src\x64\fftw /IC:\Users\dyfee\Documents\src\supercollider\exter
  nal_libraries\oscpack_1_1_0 /I"C:\Users\dyfee\Documents\src\supercollider\externa
  l_libraries\TLSF-2.4.6\src" /Zi /nologo /W3 /WX- /diagnostics:classic /O2 /Ob1 /D
   WIN32 /D _WINDOWS /D NDEBUG /D SUPERNOVA /D NOVA_SIMD /D PORTAUDIO_BACKEND /D WI
  N32_LEAN_AND_MEAN /D NOMINMAX /D _WIN32_WINNT=0x0600 /D BOOST_DATE_TIME_NO_LIB /D
   BOOST_ALL_NO_LIB /D BOOST_CHRONO_HEADER_ONLY /D BOOST_NO_AUTO_PTR /D _CRT_SECURE
  _NO_WARNINGS /D _SCL_SECURE_NO_WARNINGS /D _ENABLE_ATOMIC_ALIGNMENT_FIX /D SC_FFT
  _FFTW /D "LIB_SUFFIX=\"\"" /D BOOST_THREAD_USE_LIB /D "CMAKE_INTDIR=\"RelWithDebI
  nfo\"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inlin
  e /GR /std:c++14 /Fo"libsupernova.dir\RelWithDebInfo\\" /Fd"libsupernova.dir\RelW
  ithDebInfo\libsupernova.pdb" /Gd /TP /wd4018 /wd4102 /wd4267 /wd4244 /wd4305 /wd4
  309 /wd4800 /wd4996 /errorReport:queue C:\Users\dyfee\Documents\src\supercollider
  \server\supernova\sc\sc_osc_handler.cpp C:\Users\dyfee\Documents\src\supercollide
  r\server\supernova\sc\sc_plugin_interface.cpp C:\Users\dyfee\Documents\src\superc
  ollider\server\supernova\sc\sc_synth.cpp C:\Users\dyfee\Documents\src\supercollid
  er\server\supernova\sc\sc_synth_definition.cpp C:\Users\dyfee\Documents\src\super
  collider\server\supernova\sc\sc_synthdef.cpp C:\Users\dyfee\Documents\src\superco
  llider\server\supernova\sc\sc_ugen_factory.cpp C:\Users\dyfee\Documents\src\super
  collider\server\supernova\server\node_graph.cpp C:\Users\dyfee\Documents\src\supe
  rcollider\server\supernova\server\server.cpp
  sc_osc_handler.cpp
  Info: Boost.Config is older than your compiler version - probably nothing bad wil
  l happen - but you may wish to look for an update Boost version.  Define BOOST_CO
  NFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.
C:\Users\dyfee\Documents\src\supercollider\server\supernova\sc\sc_osc_handler.cpp(8
00): warning C4291: 'void *nova::detail::sc_osc_handler::received_packet::operator
new(size_t,void *)': no matching operator delete found; memory will not be freed if
 initialization throws an exception [C:\Users\dyfee\Documents\src\supercollider\bui
ld\server\supernova\libsupernova.vcxproj]
  c:\users\dyfee\documents\src\supercollider\server\supernova\sc\sc_osc_handler.hpp
  (207): note: see declaration of 'nova::detail::sc_osc_handler::received_packet::o
  perator new'
C:\Users\dyfee\Documents\src\supercollider\server\supernova\sc\sc_osc_handler.cpp(1
915): warning C4101: 'e': unreferenced local variable [C:\Users\dyfee\Documents\src
\supercollider\build\server\supernova\libsupernova.vcxproj]
c:\users\dyfee\documents\src\supercollider\server\supernova\dsp_thread_queue\dsp_th
read_queue.hpp(70): warning C4200: nonstandard extension used: zero-sized array in
struct/union [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\lib
supernova.vcxproj]
  c:\users\dyfee\documents\src\supercollider\server\supernova\dsp_thread_queue\dsp_
  thread_queue.hpp(70): note: This member will be ignored by a defaulted constructo
  r or copy/move assignment operator
  c:\users\dyfee\documents\src\supercollider\server\supernova\dsp_thread_queue\dsp_
  thread_queue.hpp(104): note: see reference to class template instantiation 'nova:
  :dsp_thread_queue_item<nova::dsp_queue_node<nova::rt_pool_allocator<void *>>,nova
  ::rt_pool_allocator<void *>>::successor_list::data_t' being compiled
  c:\users\dyfee\documents\src\supercollider\server\supernova\dsp_thread_queue\dsp_
  thread_queue.hpp(102): note: while compiling class template member function 'nova
  ::dsp_thread_queue_item<nova::dsp_queue_node<nova::rt_pool_allocator<void *>>,nov
  a::rt_pool_allocator<void *>> *const &nova::dsp_thread_queue_item<nova::dsp_queue
  _node<nova::rt_pool_allocator<void *>>,nova::rt_pool_allocator<void *>>::successo
  r_list::operator [](size_t) const'
  c:\users\dyfee\documents\src\supercollider\server\supernova\dsp_thread_queue\dsp_
  thread_queue.hpp(166): note: see reference to function template instantiation 'no
  va::dsp_thread_queue_item<nova::dsp_queue_node<nova::rt_pool_allocator<void *>>,n
  ova::rt_pool_allocator<void *>> *const &nova::dsp_thread_queue_item<nova::dsp_que
  ue_node<nova::rt_pool_allocator<void *>>,nova::rt_pool_allocator<void *>>::succes
  sor_list::operator [](size_t) const' being compiled
  c:\users\dyfee\documents\src\supercollider\server\supernova\dsp_thread_queue\dsp_
  thread_queue.hpp(196): note: see reference to class template instantiation 'nova:
  :dsp_thread_queue_item<nova::dsp_queue_node<nova::rt_pool_allocator<void *>>,nova
  ::rt_pool_allocator<void *>>::successor_list' being compiled
  c:\users\dyfee\documents\src\supercollider\server\supernova\dsp_thread_queue\dsp_
  thread_queue.hpp(305): note: see reference to class template instantiation 'nova:
  :dsp_thread_queue_item<nova::dsp_queue_node<nova::rt_pool_allocator<void *>>,nova
  ::rt_pool_allocator<void *>>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp_thread_queue/dsp_
  thread.hpp(172): note: see reference to class template instantiation 'nova::dsp_q
  ueue_interpreter<runnable,Alloc>' being compiled
          with
          [
              runnable=nova::queue_node,
              Alloc=nova::rt_pool_allocator<void *>
          ]
  c:\users\dyfee\documents\src\supercollider\server\supernova\sc\../server/server_s
  cheduler.hpp(59): note: see reference to class template instantiation 'nova::dsp_
  thread_pool<nova::queue_node,thread_init_functor,nova::rt_pool_allocator<void *>>
  ' being compiled
          with
          [
              thread_init_functor=nova::thread_init_functor
          ]
  c:\users\dyfee\documents\src\supercollider\server\supernova\sc\../server/server.h
  pp(117): note: see reference to class template instantiation 'nova::scheduler<nov
  a::thread_init_functor>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(54): note: see reference to class template instantiation 'boost::a
  rg<9>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(53): note: see reference to class template instantiation 'boost::a
  rg<8>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(52): note: see reference to class template instantiation 'boost::a
  rg<7>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(51): note: see reference to class template instantiation 'boost::a
  rg<6>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(50): note: see reference to class template instantiation 'boost::a
  rg<5>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(49): note: see reference to class template instantiation 'boost::a
  rg<4>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(48): note: see reference to class template instantiation 'boost::a
  rg<3>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(47): note: see reference to class template instantiation 'boost::a
  rg<2>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/bind/pl
  aceholders.hpp(46): note: see reference to class template instantiation 'boost::a
  rg<1>' being compiled
  sc_plugin_interface.cpp
  Info: Boost.Config is older than your compiler version - probably nothing bad wil
  l happen - but you may wish to look for an update Boost version.  Define BOOST_CO
  NFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1062): er
ror C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\
build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1062): er
ror C2146: syntax error: missing ')' before identifier 'LPWSABUF' [C:\Users\dyfee\D
ocuments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1075): er
ror C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\
build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1075): er
ror C2146: syntax error: missing ')' before identifier 'DWORD' [C:\Users\dyfee\Docu
ments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1110): er
ror C3646: 'lpfnCompletionProc': unknown override specifier [C:\Users\dyfee\Documen
ts\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1110): er
ror C4430: missing type specifier - int assumed. Note: C++ does not support default
-int [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsupernov
a.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(2713): er
ror C2061: syntax error: identifier 'LPCONDITIONPROC' [C:\Users\dyfee\Documents\src
\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3040): er
ror C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\
build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3040): er
ror C2146: syntax error: missing ')' before identifier 'SOCKET' [C:\Users\dyfee\Doc
uments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3061): er
ror C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\
build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3061): er
ror C2146: syntax error: missing ')' before identifier 'SOCKET' [C:\Users\dyfee\Doc
uments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3090): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3194): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3251): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3299): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3328): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3372): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(4111): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\ws2tcpip.h(764): err
or C2660: 'WSAIoctl': function does not take 9 arguments [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\ws2tcpip.h(805): err
or C2660: 'WSAIoctl': function does not take 9 arguments [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\ws2tcpip.h(862): err
or C2660: 'WSAIoctl': function does not take 9 arguments [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\ws2tcpip.h(905): err
or C2660: 'WSAIoctl': function does not take 9 arguments [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mswsock.h(430): erro
r C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\dy
fee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mswsock.h(492): erro
r C3646: 'lpCompletionRoutine': unknown override specifier [C:\Users\dyfee\Document
s\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mswsock.h(492): erro
r C4430: missing type specifier - int assumed. Note: C++ does not support default-i
nt [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.
vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mswsock.h(516): erro
r C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\dy
fee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(768): error C2660: 'WSARecv': function does not take 7 argum
ents [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsupernov
a.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3187):
  note: see declaration of 'WSARecv'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(768): error C2672: 'error_wrapper': no matching overloaded f
unction found [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\li
bsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(921): error C2660: 'WSARecvFrom': function does not take 9 a
rguments [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsupe
rnova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3242):
  note: see declaration of 'WSARecvFrom'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(921): error C2672: 'error_wrapper': no matching overloaded f
unction found [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\li
bsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(1167): error C2660: 'WSASend': function does not take 7 argu
ments [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsuperno
va.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3292):
  note: see declaration of 'WSASend'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(1167): error C2672: 'error_wrapper': no matching overloaded
function found [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\l
ibsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(1293): error C2660: 'WSASendTo': function does not take 9 ar
guments [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsuper
nova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3363):
  note: see declaration of 'WSASendTo'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(1293): error C2672: 'error_wrapper': no matching overloaded
function found [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\l
ibsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(398): error C2660: 'WSASend': function doe
s not take 7 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server\sup
ernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3292):
  note: see declaration of 'WSASend'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(424): error C2660: 'WSASendTo': function d
oes not take 9 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server\s
upernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3363):
  note: see declaration of 'WSASendTo'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(453): error C2660: 'WSARecv': function doe
s not take 7 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server\sup
ernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3187):
  note: see declaration of 'WSARecv'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(502): error C2660: 'WSARecvFrom': function
 does not take 9 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server
\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3242):
  note: see declaration of 'WSARecvFrom'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(737): error C2660: 'WSAIoctl': function do
es not take 9 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server\su
pernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/lockfree/
stack.hpp(72): error C2338: boost::is_copy_constructible<T>::value [C:\Users\dyfee\
Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp_thread_queue/dsp_
  thread_queue.hpp(558): note: see reference to class template instantiation 'boost
  ::lockfree::stack<nova::dsp_thread_queue_item<nova::dsp_queue_node<nova::rt_pool_
  allocator<void *>>,nova::rt_pool_allocator<void *>> *,boost::lockfree::capacity<3
  2768>>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp_thread_queue/dsp_
  thread.hpp(172): note: see reference to class template instantiation 'nova::dsp_q
  ueue_interpreter<runnable,Alloc>' being compiled
          with
          [
              runnable=nova::queue_node,
              Alloc=nova::rt_pool_allocator<void *>
          ]
  c:\users\dyfee\documents\src\supercollider\server\supernova\sc\../server/server_s
  cheduler.hpp(59): note: see reference to class template instantiation 'nova::dsp_
  thread_pool<nova::queue_node,thread_init_functor,nova::rt_pool_allocator<void *>>
  ' being compiled
          with
          [
              thread_init_functor=nova::thread_init_functor
          ]
  c:\users\dyfee\documents\src\supercollider\server\supernova\sc\../server/server.h
  pp(117): note: see reference to class template instantiation 'nova::scheduler<nov
  a::thread_init_functor>' being compiled
  sc_synth.cpp
  Info: Boost.Config is older than your compiler version - probably nothing bad wil
  l happen - but you may wish to look for an update Boost version.  Define BOOST_CO
  NFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winnt.h(20772): erro
r C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\bu
ild\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winnt.h(20772): erro
r C2146: syntax error: missing ')' before identifier 'PVOID' [C:\Users\dyfee\Docume
nts\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\fibersapi.h(37): err
or C2065: 'PFLS_CALLBACK_FUNCTION': undeclared identifier [C:\Users\dyfee\Documents
\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\fibersapi.h(38): err
or C2146: syntax error: missing ')' before identifier 'lpCallback' [C:\Users\dyfee\
Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winuser.h(3924): err
or C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\b
uild\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winuser.h(3924): err
or C2146: syntax error: missing ')' before identifier 'HANDLE' [C:\Users\dyfee\Docu
ments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winuser.h(3933): err
or C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\b
uild\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winuser.h(3933): err
or C2146: syntax error: missing ')' before identifier 'HPOWERNOTIFY' [C:\Users\dyfe
e\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winuser.h(3940): err
or C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\b
uild\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winuser.h(3940): err
or C2146: syntax error: missing ')' before identifier 'HANDLE' [C:\Users\dyfee\Docu
ments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winuser.h(3948): err
or C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\b
uild\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winuser.h(3948): err
or C2146: syntax error: missing ')' before identifier 'HPOWERNOTIFY' [C:\Users\dyfe
e\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(235): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(235): error C2
146: syntax error: missing ')' before identifier 'HWND' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(237): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(237): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(238): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(238): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(245): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(245): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(246): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(246): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(253): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(253): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(255): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(255): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(257): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(257): error C2
146: syntax error: missing ')' before identifier 'HWND' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(260): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(260): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(261): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(261): error C2
146: syntax error: missing ')' before identifier 'HWND' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(262): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(262): error C2
146: syntax error: missing ')' before identifier 'HWND' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(263): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(263): error C2
146: syntax error: missing ')' before identifier 'HWND' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(268): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(268): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(269): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(269): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(276): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(276): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(277): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(277): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(284): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(284): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(285): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(285): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(292): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(292): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(293): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(293): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(308): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(308): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(309): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(309): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(310): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(310): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(311): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(311): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(314): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(314): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(315): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(315): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(322): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(322): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(323): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(323): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(331): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(331): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(332): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(332): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(339): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(339): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(340): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(340): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(347): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(347): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(348): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(348): error C2
146: syntax error: missing ')' before identifier 'HKL' [C:\Users\dyfee\Documents\sr
c\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(355): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(355): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(357): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(357): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(358): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(358): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(359): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(359): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(360): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(360): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(361): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(361): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(362): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(362): error C2
146: syntax error: missing ')' before identifier 'HIMC' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(364): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(364): error C2
146: syntax error: missing ')' before identifier 'HWND' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(365): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(365): error C2
146: syntax error: missing ')' before identifier 'HWND' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(372): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(372): error C2
146: syntax error: missing ')' before identifier 'HWND' [C:\Users\dyfee\Documents\s
rc\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(382): error C2
065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\build\
server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\imm.h(382): fatal er
ror C1003: error count exceeds 100; stopping compilation [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  sc_synth_definition.cpp
  Info: Boost.Config is older than your compiler version - probably nothing bad wil
  l happen - but you may wish to look for an update Boost version.  Define BOOST_CO
  NFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.
  sc_synthdef.cpp
  Info: Boost.Config is older than your compiler version - probably nothing bad wil
  l happen - but you may wish to look for an update Boost version.  Define BOOST_CO
  NFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.
  sc_ugen_factory.cpp
  Info: Boost.Config is older than your compiler version - probably nothing bad wil
  l happen - but you may wish to look for an update Boost version.  Define BOOST_CO
  NFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.
C:\Users\dyfee\Documents\src\supercollider\include\server\ErrorMessage.hpp(79): war
ning C4101: 'exception': unreferenced local variable [C:\Users\dyfee\Documents\src\
supercollider\build\server\supernova\libsupernova.vcxproj]
  node_graph.cpp
  Info: Boost.Config is older than your compiler version - probably nothing bad wil
  l happen - but you may wish to look for an update Boost version.  Define BOOST_CO
  NFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.
C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp_thread_queue/dsp_th
read_queue.hpp(70): warning C4200: nonstandard extension used: zero-sized array in
struct/union [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\lib
supernova.vcxproj]
  C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp_thread_queue/dsp_
  thread_queue.hpp(70): note: This member will be ignored by a defaulted constructo
  r or copy/move assignment operator
  c:\users\dyfee\documents\src\supercollider\server\supernova\server\dependency_gra
  ph_generator.hpp(191): note: see reference to class template instantiation 'nova:
  :dsp_thread_queue_item<nova::dsp_queue_node<nova::rt_pool_allocator<void *>>,nova
  ::rt_pool_allocator<void *>>::successor_list::data_t' being compiled
  server.cpp
  Info: Boost.Config is older than your compiler version - probably nothing bad wil
  l happen - but you may wish to look for an update Boost version.  Define BOOST_CO
  NFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1062): er
ror C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\
build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1062): er
ror C2146: syntax error: missing ')' before identifier 'LPWSABUF' [C:\Users\dyfee\D
ocuments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1075): er
ror C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\
build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1075): er
ror C2146: syntax error: missing ')' before identifier 'DWORD' [C:\Users\dyfee\Docu
ments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1110): er
ror C3646: 'lpfnCompletionProc': unknown override specifier [C:\Users\dyfee\Documen
ts\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(1110): er
ror C4430: missing type specifier - int assumed. Note: C++ does not support default
-int [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsupernov
a.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(2713): er
ror C2061: syntax error: identifier 'LPCONDITIONPROC' [C:\Users\dyfee\Documents\src
\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3040): er
ror C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\
build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3040): er
ror C2146: syntax error: missing ')' before identifier 'SOCKET' [C:\Users\dyfee\Doc
uments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3061): er
ror C2065: 'IN': undeclared identifier [C:\Users\dyfee\Documents\src\supercollider\
build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3061): er
ror C2146: syntax error: missing ')' before identifier 'SOCKET' [C:\Users\dyfee\Doc
uments\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3090): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3194): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3251): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3299): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3328): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3372): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(4111): er
ror C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\
dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\ws2tcpip.h(764): err
or C2660: 'WSAIoctl': function does not take 9 arguments [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\ws2tcpip.h(805): err
or C2660: 'WSAIoctl': function does not take 9 arguments [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\ws2tcpip.h(862): err
or C2660: 'WSAIoctl': function does not take 9 arguments [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\ws2tcpip.h(905): err
or C2660: 'WSAIoctl': function does not take 9 arguments [C:\Users\dyfee\Documents\
src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mswsock.h(430): erro
r C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\dy
fee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mswsock.h(492): erro
r C3646: 'lpCompletionRoutine': unknown override specifier [C:\Users\dyfee\Document
s\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mswsock.h(492): erro
r C4430: missing type specifier - int assumed. Note: C++ does not support default-i
nt [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsupernova.
vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\mswsock.h(516): erro
r C2061: syntax error: identifier 'LPWSAOVERLAPPED_COMPLETION_ROUTINE' [C:\Users\dy
fee\Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(768): error C2660: 'WSARecv': function does not take 7 argum
ents [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsupernov
a.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3187):
  note: see declaration of 'WSARecv'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(768): error C2672: 'error_wrapper': no matching overloaded f
unction found [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\li
bsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(921): error C2660: 'WSARecvFrom': function does not take 9 a
rguments [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsupe
rnova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3242):
  note: see declaration of 'WSARecvFrom'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(921): error C2672: 'error_wrapper': no matching overloaded f
unction found [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\li
bsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(1167): error C2660: 'WSASend': function does not take 7 argu
ments [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsuperno
va.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3292):
  note: see declaration of 'WSASend'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(1167): error C2672: 'error_wrapper': no matching overloaded
function found [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\l
ibsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(1293): error C2660: 'WSASendTo': function does not take 9 ar
guments [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\libsuper
nova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3363):
  note: see declaration of 'WSASendTo'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/socket_ops.ipp(1293): error C2672: 'error_wrapper': no matching overloaded
function found [C:\Users\dyfee\Documents\src\supercollider\build\server\supernova\l
ibsupernova.vcxproj]
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(398): error C2660: 'WSASend': function doe
s not take 7 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server\sup
ernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3292):
  note: see declaration of 'WSASend'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(424): error C2660: 'WSASendTo': function d
oes not take 9 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server\s
upernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3363):
  note: see declaration of 'WSASendTo'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(453): error C2660: 'WSARecv': function doe
s not take 7 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server\sup
ernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3187):
  note: see declaration of 'WSARecv'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(502): error C2660: 'WSARecvFrom': function
 does not take 9 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server
\supernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3242):
  note: see declaration of 'WSARecvFrom'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/asio/deta
il/impl/win_iocp_socket_service_base.ipp(737): error C2660: 'WSAIoctl': function do
es not take 9 arguments [C:\Users\dyfee\Documents\src\supercollider\build\server\su
pernova\libsupernova.vcxproj]
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um\winsock2.h(3081):
  note: see declaration of 'WSAIoctl'
C:\Users\dyfee\Documents\src\supercollider\external_libraries\boost\boost/lockfree/
stack.hpp(72): error C2338: boost::is_copy_constructible<T>::value [C:\Users\dyfee\
Documents\src\supercollider\build\server\supernova\libsupernova.vcxproj]
  C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp_thread_queue/dsp_
  thread_queue.hpp(558): note: see reference to class template instantiation 'boost
  ::lockfree::stack<nova::dsp_thread_queue_item<nova::dsp_queue_node<nova::rt_pool_
  allocator<void *>>,nova::rt_pool_allocator<void *>> *,boost::lockfree::capacity<3
  2768>>' being compiled
  C:\Users\dyfee\Documents\src\supercollider\server\supernova\dsp_thread_queue/dsp_
  thread.hpp(172): note: see reference to class template instantiation 'nova::dsp_q
  ueue_interpreter<runnable,Alloc>' being compiled
          with
          [
              runnable=nova::queue_node,
              Alloc=nova::rt_pool_allocator<void *>
          ]
  c:\users\dyfee\documents\src\supercollider\server\supernova\sc\../server/server_s
  cheduler.hpp(59): note: see reference to class template instantiation 'nova::dsp_
  thread_pool<nova::queue_node,thread_init_functor,nova::rt_pool_allocator<void *>>
  ' being compiled
          with
          [
              thread_init_functor=nova::thread_init_functor
          ]
  c:\users\dyfee\documents\src\supercollider\server\supernova\server\server.hpp(117
  ): note: see reference to class template instantiation 'nova::scheduler<nova::thr
  ead_init_functor>' being compiled
  Generating Code...
Done Building Project "C:\Users\dyfee\Documents\src\supercollider\build\server\supe
rnova\libsupernova.vcxproj" (default targets) -- FAILED.

Done Building Project "C:\Users\dyfee\Documents\src\supercollider\build\server\supe
rnova\supernova.vcxproj" (default targets) -- FAILED.

Done Building Project "C:\Users\dyfee\Documents\src\supercollider\build\server\plug
ins\BinaryOpUGens_supernova.vcxproj" (default targets) -- FAILED.

(...)

EDIT: I tried to move that include around, including the main.cpp file, but I was not able to find a more appropriate place that worked...

@dyfer dyfer changed the title supernova msvc build supernova: fix msvc build Feb 20, 2020
@dyfer
Copy link
Member Author

dyfer commented Mar 6, 2020

Update: a number of aspects of this PR have been addressed; also nova-tt has been updated upstream.

The outstanding/not addressed issues are the inclusion of the winsock2.h, added casts (?), and (since it was added to this PR later) an added cache prefetch function for msvc.

@dyfer
Copy link
Member Author

dyfer commented Mar 29, 2020

In the process of trying to investigate winsock2.h include requirement, I realized that:

  • SC_Win32Utils.h includes winsock2.h
  • we never included SC_Win32Utils.h, even though it's added in CMakeLists (and is used in scsynth)

With this in mind, I replaced winsock includes with win32utils and I did it for every file that failed to compile in such (not understandable to me) way.

If this helps, AFAICT these (winsock/win32utils) includes are needed before (some?) boost, nova-tt, and SC_InterfaceTable.h includes.

I think this PR is ready for (further) review.

(I cancelled second AppVeyor build since we're exceeding artifacts quota ATM - I'll restart it once this issue is resolved)

Copy link
Contributor

@mossheim mossheim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks mostly good! one small change. also, please:

  • rebase this on develop, fixing the merge conflict (just need to append -DSUPERNOVA=1 to what develop has)
  • squash commits (keep the submodule update separate but everything else can be combined as much as you like)

@@ -19,6 +19,10 @@
#include <cstdarg>
#include <random>

#ifdef _WIN32
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you don't need these #ifdef guards, SC_Win32Utils.h already has them

@dyfer dyfer force-pushed the topic/supernova-msvc branch from 9c1601f to 1d1e1c2 Compare April 11, 2020 22:09
@dyfer
Copy link
Member Author

dyfer commented Apr 11, 2020

appveyor fails at building unpack FFT ugens; will investigate...

EDIT: this builds fine on my system (MSVC 15 2017); TBC...

@mossheim
Copy link
Contributor

@dyfer it looks like ultimately a regression in MSVC to me, but i think this patch should fix it:

diff --git a/server/supernova/server/node_graph.cpp b/server/supernova/server/node_graph.cpp
index 4c99e769e8..0b58797a3a 100644
--- a/server/supernova/server/node_graph.cpp
+++ b/server/supernova/server/node_graph.cpp
@@ -93,13 +93,13 @@ abstract_group::~abstract_group(void) {
 }
 
 void abstract_group::pause(void) {
-    for (server_node& node : child_nodes)
-        node.pause();
+    for (server_node& child_node : child_nodes)
+        child_node.pause();
 }
 
 void abstract_group::resume(void) {
-    for (server_node& node : child_nodes)
-        node.resume();
+    for (server_node& child_node : child_nodes)
+        child_node.resume();
 }
 
 void abstract_group::add_child(server_node* node) {

@dyfer
Copy link
Member Author

dyfer commented Apr 13, 2020

thanks so much for the patch @brianlheim !
pushed the change now

Copy link
Contributor

@mossheim mossheim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

excellent, thank you!

@mossheim mossheim merged commit 31c0c93 into supercollider:develop Apr 13, 2020
@mossheim mossheim mentioned this pull request Nov 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SuperNova fails to compile on Windows
4 participants