Ich habe ein Programm (in VC++)aus einem Lehrbuch abgeschrieben!
Der Linker meckert: nafxcwd nicht gefunden!
1. Wieso? (Diese Datei befindet sich auf keiner meiner Festplatten)
2. Woher weiss der Linker überhaupt welche Dateien mit eingelinkt werden sollen?
Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge
hi.
>> 1. Wieso? (Diese Datei befindet sich auf keiner meiner Festplatten)
in diesem fall hast du bei der installation von vc++ diese datei nicht mitinstalliert. im zuge der installation wird gefragt, welche libraries mit installiert werden sollen. (statisch, dll - varianten, etc. pp.): du musst diese library nachinstallieren. (als handregel, vor allem wenn man am lernen ist und noch nicht so genau weiss welche libraries man braucht, ist es am besten _alle_ libraries mit zu installieren.)
>> 2. Woher weiss der Linker überhaupt welche Dateien mit eingelinkt werden sollen?
diese information wird dem linker auf verschiedene arten mitgeteilt. so kann dies zum beispiel in den linker-parametern stehen, die als teil des vc++ projektes abgelegt sind. ferner (und das ist bei dir der fall) gibt es das '#pragma lib' statement, das in einem zu uebersetzenden modul eingebettet sein kann. meist ist das in einer header-datei der fall. dieses statement veranlasst den compiler ein 'library search record' im objekt-file der uebersetzten einheit zu plazieren. beim linken sucht der linker nun nach diesen search records - findgt er welche, so weiss er welche libraries mit eingebunden werden muessen.
WM_HOPETHISHELPS
thomas woelfer