Unerklärliches Verhalten von VS 2010

Cromon

Erfahrenes Mitglied
Hallo zusammen!

Wie bereits im Titel erwähnt hat mein Visual Studio 2010 momentan ein wirklich unerklärliches Verhalten. Ich kriege aus dem Nichts den Fehler, dass libeay32.lib nicht gelinkt werden konnte. Das kann aber nicht sein, denn die folgenden Zeilen befinden sich in der SharedInclude.h von Cryptography:
Code:
#ifndef __IMPORT
#pragma comment(lib, "../../dep/lib/libeay32.lib")
#endif

Und folgende Zeilen in der StdAfx.h von Logonserver:
Code:
#define __IMPORT
#include "../Cryptography/SharedInclude.h"

Da in jeder CPP-Datei von Logonserver ausnahmslos die StdAfx.h includiert wird und das auch vorhin funktioniert hat bin ich echt ratlos. Noch besser wirds, wenn ich den Buildllog ansehe:
Code:
Build started 28.06.2010 17:56:33.
     1>Project "C:\Users\Admin\Desktop\Rename\Win\Projects\Logonserver\Logonserver.vcxproj" on node 3 (build target(s)).
     1>InitializeBuildStatus:
         Touching "Debug\Logonserver.unsuccessfulbuild".
       ClCompile:
         c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /Od /Oy- /D _MBCS /D WIN32 /D _MBCS /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt ..\..\..\src\Logonserver\AccountMgr.cpp ..\..\..\src\Logonserver\AuthHandler.cpp ..\..\..\src\Logonserver\Globals.cpp ..\..\..\src\Logonserver\Main.cpp ..\..\..\src\Logonserver\ModuleManager.cpp ..\..\..\src\Logonserver\StdAfx.cpp
         StdAfx.cpp
         ModuleManager.cpp
         Main.cpp
         Globals.cpp
         AuthHandler.cpp
         AccountMgr.cpp
         Generating Code...
       Link:
         c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"..\..\..\bin\Debug\Logonserver.exe" /NOLOGO /LIBPATH:..\..\..\bin\Debug\\Modules ModuleLoader.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Debug\Logonserver.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\Admin\Desktop\Rename\bin\Debug\Logonserver.pdb" /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"..\..\..\bin\Debug\Logonserver.lib" /MACHINE:X86 Debug\AccountMgr.obj
         Debug\AuthHandler.obj
         Debug\Globals.obj
         Debug\Main.obj
         Debug\ModuleManager.obj
         Debug\StdAfx.obj
     1>LINK : fatal error LNK1104: cannot open file '../../dep/lib/libeay32.lib'
     1>Done Building Project "C:\Users\Admin\Desktop\Rename\Win\Projects\Logonserver\Logonserver.vcxproj" (build target(s)) -- FAILED.

Build FAILED.

Time Elapsed 00:00:10.11

Libeay32.lib kommt nirgendwo vor, lediglich im Fehler. Woher kommt das?

/EDIT:
Anhand des Buildlogs habe ich geschlossen, dass das Problem irgendwo in AccountMgr.cpp liegen muss. Da da der einzige Ort ist an dem Sachen aus der Kryptographie verwendet werden habe ich mal die Funktion mit dem SHA-Hash auskommentiert. Siehe da, kein Fehler mehr. Woran liegt denn das?

/EDIT2:
Irgendwie ists zum Haare raufen. Folgende Codeänderung:
Code:
#ifndef __IMPORT
#error LINKING!
#pragma comment(lib, "../../dep/lib/libeay32.lib")
#else
#error __IMPORT DEFINED!
#endif

Sämtliche Fehler LINKING sind im Projekt Cryptography wo sie auch hingehören und sämtliche Fehler __IMPORT DEFINED sind in jeder Datei vom Projekt Logonserver.

Gruss
Cromon
 
Zuletzt bearbeitet:
Hi.

In irgendeiner Objekt Datei ist anscheinend noch ein Verweis auf die libeay32.lib drin.

Durchsuche doch mal die Dateien danach.

Hast du denn schonmal das Projekt komplett bereinigt?

Gruß
 
Bereinigung hab ich bereits durchlaufen lassen. In keiner .obj-Datei wär ein Verweis drin, lediglich in der Cryptography.lib, die ja aber auch logischerweise mit der libeay32.lib zusammengelinkt werden soll.
 
Bereinigung hab ich bereits durchlaufen lassen. In keiner .obj-Datei wär ein Verweis drin, lediglich in der Cryptography.lib, die ja aber auch logischerweise mit der libeay32.lib zusammengelinkt werden soll.
Was heißt denn "wäre"? Wie hast du das denn jetzt überprüft? Und verwendest du vorkompilierte Header? Hast du eine .pch Datei?

Ansonsten, lass doch einfach diesen pragma comment Unfug und trage die Bibliothek im Cryptography Projekt direkt ein. ;-)

Gruß
 
"Wär" war ein taktisch ungünstiger Verschreiber von "war" :suspekt:

Ich hab die Library jetzt eingetragen im Projekt, so funktioniert es auch, die Library sieht genau gleich aus und auch jetzt versucht das Programm wieder die libeay32.lib zu linken. Allerdings funktioniert es diesmal, da zufälligerweise der relative Pfad vom Logonserver-Projekt und vom Cryptography-Projekt zur Library identisch sind.
 
Zurück