Ich habe über Google recherchiert und http://www.cs.virginia.edu/~evans/cs216/guides/vsasm.html Referenzieren, aber ich frage mich, ob jemand irgendwelche Ideen hat, wie man diesen nicht gefundenen Fehler beheben kann. Das Klare();' in extern hat "C" einen nicht gefundenen Fehler. Ich hoffe, dass diese Frage spezifisch genug ist, dass sie gelöst werden kann. Jeder Rat würde sehr geschätzt werden.Raffinierte Anfrage über einen nicht gefundenen Fehler in Visual Studio 2017
Dies ist die .cpp-Datei.
extern "C" {
void clear();
}
int main() {
clear();
return 1;
}
Dies ist die ASM-Datei.
.586 ;Target processor. Use instructions for Pentium class machines
.MODEL FLAT, C ;Use the flat memory model. Use C calling conventions
.STACK ;Define a stack segment of 1KB (Not required for this example)
.DATA ;Create a near data segment. Local variables are declared after
;this directive (Not required for this example)
.CODE ;Indicates the start of a code segment.
clear PROC
xor eax, eax
xor ebx, ebx
ret
clear ENDP
END
In Visual Studio habe ich die Mash in Build Customization Files aktiviert. Ich habe auch aus dem Build ausgeschlossen auf "Nein" gesetzt.
Die Befehlszeile Eigenschaft in Schritt Custom Build sieht wie folgt aus:
ml /Cx /coff clear.asm /link /SUBSYSTEM:console /out:go /entry:clear
Als ich Lösung/Projekt erstellen/jede Datei einzeln gelingt es, aber ich kann nicht herausfinden, warum die ‚clear(); " im folgenden -> hat ein grünes Schnörkel einen nicht gefundenen Fehler angezeigt.
extern "C" {
void clear();
}
extern "C" {
void clear();
}
Ist das ein Linker Fehler oder nur Intellisense verwirrt? – Quentin
Bitte geben Sie den genauen Fehler an. –
@RichardCritten 'Funktionsdefinition für' clear 'nicht gefunden.' –