Ich bin neu in der Montage und versuch Irvine32 Bibliothek in ein Programm zur Ausgabe von farbigen Zeichen mit SetTextColor zu verknüpfen, ich bin mit MASM 32Assemblersprache Verbindungsfehler nicht aufgelöstes externes Symbol
.486 ; create 32 bit code
option casemap :none ; case sensitive
include \Irvine\Irvine32.inc
include \Irvine\Macros.inc
includelib \Irvine\kernel32.lib
includelib \Irvine\Irvine32.lib
ExitProcess Proto, dwExitCode:DWORD
.code ; Tell MASM where the code starts
start:
mov al,'o'
mov eax,yellow + (blue +16)
call SetTextColor
call WriteChar
INVOKE ExitProcess,0 ;endprocess once complete
end start ;Tell MASM where the program ends
wenn ich auf Konsole montieren und Verbindung erhalte ich diese Fehlermeldung
Irvine32.lib(Irvine32.obj) : error LNK2001: unresolved external symbol [email protected]
cshprog4.exe : fatal error LNK1120: 1 unresolved externals
cshprog4 ist der Name meines Programms. Was kann ich tun, um diesen Fehler zu beheben?
Mögliche Duplikate von [Was ist eine nicht definierte Referenz/nicht aufgelöster externer Symbolfehler und wie behebe ich sie?] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved -external-symbol-error-and-how-do-i-fix) –
Wenn Sie eine Datei '\ Irvine \ user32.lib' haben, sollten Sie diese zu Ihrem Programm' includelib \ Irvine \ user32.lib' hinzufügen. Ich würde auch empfehlen, dies auch 'include \ Irvine \ user32.inc' hinzuzufügen, vorausgesetzt, dass die Datei in \ Irvine existiert. Sie können es in einem Unterverzeichnis haben, kann ich nicht sagen. –
das hat total funktioniert! Ich dachte mir, dass ich nur etwas Offensichtliches vermisste. Vielen Dank! –