Yeah, I should have said I thought of that and made sure there were no unexpected .obj files lying around. I have done a clean debug build so I can dumpbin the symbols in mbyte.obj, and sure enough the symbols do not appear in it.
Ah, full disclosure. I normall build gui followed by terminal versions. Using #error to check the functions were being built did fail with the gui build, indicating that FEAT_TERMINAL was defined - I just assumed the same with the terminal version. I then simplified the build script to just build the terminal version which continued to fail. Retrying the #error trick now shows the functions are not being compiled in even though FEAT_TERMINAL is in the cl command.
So, the issue is that FEAT_TERMINAL is being undefined for windows terminal builds by features.h because FEAT_JOB_CHANNEL is not being defined. I guess the vterm code is not picking up feature.h and missing the redefinition of flags from the compile command.
I don't define this for gui builds so dont do it for terminal builds - should I? Or is this an issue in the MSVC makefile being inconsistent?
TIA - TTFN
Mike