MSVC Dependencies: Update [As of Feb 2026]

If you don’t add additional config to it, it is compiled (or precompiled). Some of the boost libraries are header-only, others aren’t.

That being said, the boost package on xrepo is a bit of a maze to me. Maybe I can help make it better, but I can only help with the errors I face. I don’t want to deal with installing ALL boost packages. And I presume that the default for boost on xmake isn’t to build all packages.

True… for a long time boost-regex needed to be compiled but that’s been converted to headers-only now.

In one or two days I’ll make a new post “As of July 2026” that links the vcpkg script but focuses more on xmake and its detailing getting the dependencies, how much is possible and such.

One fun detail: Seems like installing all libraries takes <25 minutes. (Maybe that’s only the case for release?)

Currently my script (not shared) passes configure, but excludes libusb and jack because of their .pc file names, and then fails at linking pbd, and/or some boost header include errors at temporal.

Things to do (that I know of), that I will have to fix upstream in xmake-repo:

  • Fix jack2.pc to become jack.pc
  • Fix libusb.pc to become libusb-1.0.pc
  • Fix libintl.h to not have __declspec(dllimport) in line 52
  • Fix …boost\multiprecision\detail\number_base.hpp(34,10): fatal error C1083: Cannot open include file: ‘boost/math/tools/complex.hpp’: No such file or directory

Also there’s

  • Fix error LNK2001: unresolved external symbol __imp_libintl_dgettext; …ardour\build\libs\pbd\pbd.dll : fatal error LNK1120: 1 unresolved externals

The last error, I’m unsure if it’s an xrepo and/or ardour [wscript(s)] issue. My vcpkg runs didn’t give any such error. MinGW has a line mentioning intl, but just in the root wscript. No match was found for “intl” in pbd’s wscript, where I got the missing symbol errors. I’m leaning on this being an xrepo issue, but I’m uncertain.

Maybe speak to the guys at xrepo. My guess would be that some of their packages are getting built against gettext-libintl whereas others are using proxy-libintl. ‘gettext-libintl\libintl.h’ definitely declares libintl_dgettext() but on my system at least, ‘proxy-libintl\libintl.h’ doesn’t declare it.

vcpkg seems to use gettext-libintl exclusively.