Fix errors in linker output when building ARM64EC (#19331)
Summary of the issue:
When building NVDA with Visual Studio 2026, errors are printed when linking ARm64EC:
build\arm64ec\local\nvdaHelperLocal.def : error LNK1397: '?_nvdaController_speakText@@3P6AKPEB_W@ZEA' is an invalid name for a function export, treating it as a data export. (Did you forget 'DATA' in the .def file?)
build\arm64ec\local\nvdaHelperLocal.def : error LNK1397: '?_nvdaControllerInternal_handleRemoteURL@@3P6AKPEB_W@ZEA' is an invalid name for a function export, treating it as a data export. (Did you forget 'DATA' in the .def file?)
build\arm64ec\local\nvdaHelperLocal.def : error LNK1397: '?_nvdaControllerInternal_reportLiveRegion@@3P6AKPEB_W0@ZEA' is an invalid name for a function export, treating it as a data export. (Did you forget 'DATA' in the .def file?)
build\arm64ec\local\nvdaHelperLocal.def : error LNK1397: '?_nvdaController_cancelSpeech@@3P6AKXZEA' is an invalid name for a function export, treating it as a data export. (Did you forget 'DATA' in the .def file?)
build\arm64ec\local\nvdaHelperLocal.def : error LNK1397: '?_nvdaControllerInternal_inputCompositionUpdate@@3P6AKPEB_WHHH@ZEA' is an invalid name for a function export, treating it as a data export. (Did you forget 'DATA' in the .def file?)
build\arm64ec\local\nvdaHelperLocal.def : error LNK1397: '?_nvdaControllerInternal_inputConversionModeUpdate@@3P6AKJJK@ZEA' is an invalid name for a function export, treating it as a data export. (Did you forget 'DATA' in the .def file?)
Description of user facing changes:
None
Description of developer facing changes:
No longer errors when building NVDA.
Description of development approach:
Do as the linker suggests, explicitly mark non-function exports with the DATA keyword