Programmieren - alles kontrollieren 4.937 Themen, 20.655 Beiträge

LNK2001 oder gleich fress' ich den VC++ Linker

Dreamforger / 3 Antworten / Flachansicht Nickles

Ich werds wohl nie lernen - gebt mir doch nochmal Nachhilfe

Ich hab zwei Projekte, von denen das eine auf das andere Zugreifen soll (Eine Anwendung und ein Tool).

Auf der Platte liegen die beiden ca so:

\\\\Projekte\\\\Tool\\\\Tool.h Tool.cpp
\\\\Projekte\\\\App\\\\App.h App.cpp

Ich habe dann VC++ erklärt das es #includes doch bitte unter anderem auch in \\\\Projekte suchen soll.
In App.cpp steht dann folglich # include "Tool\\\\Tool.h"

Der Compiler findet das auch ganz toll. Der Linker findet aber mal wieder garnichts. Muss ich dem Linker auchnoch verklickern wo er seine .obj suchen muss? Gibt es überhaupt eine Möglichkeit so etwas anzulegen, oder muss ich meine Verzeichnisstruktur ändern?

Danke

Dreamforger

bei Antwort benachrichtigen
thomas woelfer Dreamforger „LNK2001 oder gleich fress' ich den VC++ Linker“
Optionen

es gibt verschiedene moeglichkeiten:

- du kannst die include/library searchpfade auf projektebene einstellen
- du kannst die include/library searchpfade generell fuer vc++ einstellen
- du kannst dich beim erzeugen der objecte/library darum kuemmern, das sie an einer stelle landen wo sie der compiler/linker ohnehin findet.

der normale weg ist der, das man zusaetzlich zu den pfaden fuer die vc++ libraries/includes 4 eigene verzeichnisse anlegt:

- ein 'globales' include directory. darin landen alle eigenen header-files, die von mehreren eigenen projekten benoetigt werden. der pfad dafuer wird global gesetzt.
- ein globales library verzeichniss. darin landen alle libraries, die von mehreren eigenen projekten verwendet werden.
- ein 'lokales' include verzeichnis. der pfad dafuer wird entweder pro projekt eingestellt, oder man legt das verzeichniss relativ zum verzeichniss fuer die am projekt beteiligten c/cpp files an. im zweiten fall muss man auch relativ includieren, in deinem fall also mit "../tool/tool.h"
- ein lokales verzeichnis fuer die lokalen objekte. (eher zwei: eines fuer die debug version, das andere fuer die release version).

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen