Seite 1 von 1

LIBC.lib kann nicht gefunden werden - Eine Frage an die C++/VC Experten

Verfasst: 24.04.2022, 20:45
von gombolo
Ich habe mal vor paar Jahren...so ca. 2007 eine Bibliothek programmiert. Diese habe ich in den Tiefen meiner Archive wiedergefunden und aus Setimentaliätsgründen ein Projekt erstellt und die Lib eingebunden (Heute nutze ich VC2019 damals war es glaube ich VC++ 6? oder war es doch schon Visual C++ net...naja.

Es gab natürlich einen Fehler

LIBC.lib kann nicht geöffnet werden...was habe ich gemacht ;) ich habe die Lib mit VC2019 neu erstellt und siehe da...kein Fehler und die Lib funktioniert.

Nur mal eine Frage aus Interesse. Warum geht es nach der Neuerstellung? Weshalb kann er LINC.lib nicht öffnen und nach der Neuerstellung keine Meldung mehr darüber...Frage nur aus Interesse. Danke und noch einen schönen Abend ;)

Re: LIBC.lib kann nicht gefunden werden - Eine Frage an die C++/VC Experten

Verfasst: 24.04.2022, 21:45
von Jonathan
Bis jemand mit mehr Ahnung antwortet, hier meine Vermutung: Du hast die alte Projektdatei mit der neuen Visual-Studio Version geöffnet und auf irgendeine Art hat die alte Projektdatei auf eine alte Version der Standardbibliothek bestanden, die beim neuen Visual Studio längst nicht mehr dabei war und deshalb nicht gefunden wurde. Oder es gibt die korrekte Bibliothek noch, aber die alte Projektdatei hat darauf bestanden sie aus einem anderen, nicht mehr gültigen Pfad zu laden.

Insgesamt hört sich das für mich nach die schlimme Art von Fehler an, die man natürlich untersuchen und dann auch komplett verstehen könnte, aber in der Praxis geht es dann doch schneller, einfach alles neu zu machen und der Fehler verschwindet bevor man jemals verstanden hat, was eigentlich das Problem war. Das ist schade weil man ja eigentlich aus Fehlern zumindest etwas lernen will, aber andererseits gibt es auch einfach Fehler, aus denen man nichts nützliches lernt, selbst wenn man sie komplett verstanden hat. Sowas frustriert mich immer, aber sich darüber aufzuregen bringt auch nichts, also einfach freuen, dass der Fehler weg ist.

Re: LIBC.lib kann nicht gefunden werden - Eine Frage an die C++/VC Experten

Verfasst: 24.04.2022, 22:07
von gombolo
Jonathan hat geschrieben: 24.04.2022, 21:45 Das ist schade weil man ja eigentlich aus Fehlern zumindest etwas lernen will...
Genau das wollte ich :) aber wie die auch weiter schreibst..."...einfach freuen, dass der Fehler weg ist"

Re: LIBC.lib kann nicht gefunden werden - Eine Frage an die C++/VC Experten

Verfasst: 24.04.2022, 22:49
von Krishty
Wie Jonathan sagt.

Deine Programme benutzen durch den C-Standard zur Verfügung gestellte Sachen wie printf(). Die programmierst du eigentlich nicht selber, sondern sie werden dir mit der C-Laufzeitbibliothek zur Verfügung gestellt, die deinem Compiler beiliegt.

Als du damals deine Bibliothek kompiliert hast, hast du Visual C++ 6(?) darum gebeten, diese C-Laufzeitbibliothek statisch ins Programm einzubinden (libc.lib). Das befreit dich von der Pflicht, deinem Programm die C-Laufzeitbibliothek als externe Abhängigkeit beizulegen (msvcrt.dll).

Visual C++ hat sich weiterentwickelt; die C-Laufzeitbibliothek wanderte zwecks ABI-Versionierung in andere Dateien (msvcrt140.dll) und wurde in mehrere Stücke aufgeteilt um sie ins Betriebssystem zu integrieren (libvcruntime.lib, libucrt.lib). Davon hat deine alte Bibliothek natürlich nichts mitbekommen und möchte ihre C-Laufzeitbibliothek haben wie 1998. Darum der Fehler.

Re: LIBC.lib kann nicht gefunden werden - Eine Frage an die C++/VC Experten

Verfasst: 25.04.2022, 06:08
von gombolo
viel Danke Euch beiden...ist jetzt zu verstehen weshalb die Meldung gekommen ist... :)