WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Visual C++ Linkerfehler 2001 ?!?!?! (http://www.wcm.at/forum/showthread.php?t=73475)

irrsinn 15.10.2002 17:25

mit symbolen meinen wir "dinge" wie klassen und funktionen, die in den object files vorhanden sind, und vom linker richtig zusammengefügt werden. (etwas vereinfacht dargestellt)

Zitat:

Wenn ja, denen lauf' ich schon seit 2 Tagen nach.
wenn du nicht den kompletten sourcecode des projekts zur verfügung hast, gibts ein großes problem. ansonsten kanns doch nicht so schwer sein, eine klasse oder funktion zu lokalisieren.

delphirocks 15.10.2002 17:28

mit einem Clean/Rebuild all hast du's aber schon versucht, oder?

zenit 15.10.2002 17:29

Genau darin liegt ja mein Problem!

Alle Klassen und Funktionen die der Linker vermisst, sind vorhanden.
Nur findent tut er sie halt nicht.
Und ich find und find nicht heraus, warum...

G

zenit 15.10.2002 17:32

Ich hab alle Debug Verzeichnisse gelöscht und alles neu erstellt (x-mal)

G

Gomberl 15.10.2002 17:33

wieder vereinfacht dargestellt:

2)
symbole (Symbol tabellen) sind referenzen auf funktionen/methoden/eigentschaften/variablen .. alles was du eigentlich benutzt beim programmieren

also wenn die objekte vorhanden sind ... zumindest als obj files und er sie trotzdem nicht findet dann sind sie beim linker aufruf nicht mit angegeben
also wuerde ich versuchen sie zum projekt hinzuzufuegen

nochmal .. das hat nix mit header zu tun
header .. compiletime
symbol aufloesung ... link time - wo der error passiert

3)
so ca kann man das sagen
im groben und ganzen

regards

gomberl

irrsinn 15.10.2002 17:33

schau, ob beim build des projektes, wo sie vermisst werden, das andere projekt, in dem der sourcecode der klassen ist, als abhängigkeit angegeben ist. geht irgendwie bei project und settings bzw einstellungen (glaub ich zumindest). ausprobieren kann ichs nicht, weil ich grad nur linux zur verfügung hab.

außerdem kannst ebenfalls in den projekteinstellungen überprüfen, ob die vom anderen projekt erstellte library auch dazugelinkt wird. geht irgendo im einstellungen dialog unter linker.

ich hoff ich red nicht in rätseln, aber genauer weiß ichs aus dem gedächtnis nicht.

zenit 16.10.2002 14:43

So ich hab mal praktisch alle Dateien in das Projekt MsgServer gegeben, die eigentlich cmserver Dateien sind (weil er ja immer geschrieen hat er findet nix) obwohl die vorher gar ned drin waren.

Und schau schau, er erzeugt mir tatsächlich eine MsgServer.dll

Somit ist das Problem MsgServer mit den 14 Nichtaufgeloesten externen Symbolen abgehakt (hoffe ich).

Das is ganz toll, nur hab ich nun das Problem, dass ich das nicht auch in cmserver machen kann. weil in diesem Projekt Dateien enthalten sind, die den selben Namen wie einige aus Milacron haben, nach denen er ja schreit, was zu korrupter .obj Erzeugung führt wenn ich 2 gleichnamige .cpps in einem Projekt habe.

Was ich noch versuchen könnte, wäre die gleichnamigen Dateien überall im Source umzubenennen.

Aber all das wirft wieder eine riesige Frage auf:

"Wie hat das Ding vorher funktioniert"??? Ohne die von mir eben vorgenommene Einbindung der Dateien und mit gleichnamigen Dateien in versch. Projekten (was ja von Haus aus eh kein Problem sein kann/darf)

G

zenit 17.10.2002 09:52

Besten Dank für eure Hilfe!

Das Problem ist erledigt.

G


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag