I have a C++ project in Visual Studio 2022, which creates a .dll which calls a function created by the MASM assembler. The assembler - ml64 - however does not consider a single .inc
file, and so fails with a error LNK2019: unresolved external symbol
error.
I have one file, Core.asm
which links to V.inc
which in turn links to V_Constants.inc
. The files are linked together using include
, so Core.asm
has include V.inc
, which in turn has include V_Constants.inc
.
Initially this worked well, however when I changed Core.asm
in a trivial way, everything stopped. I can empty the file to rule out any weird syntax errors and I get the same.
Changing the output to show what it is doing (as much as possible, by removing the /nologo command line) shows that the assembler is missing out V.inc
, yet including everything else.
What could possibly stop ml64.exe
from ignoring a file? Is it possible to force the assembly?
Interestingly if I rename V.inc
I get a cannot open file: v.inc
error. So it knows to include this file, yet it doesn't want to assemble it.