2016-04-29 10 views
0

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?

+1

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) –

+0

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. –

+0

das hat total funktioniert! Ich dachte mir, dass ich nur etwas Offensichtliches vermisste. Vielen Dank! –

Antwort