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

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
gombolo
Beiträge: 86
Registriert: 26.01.2011, 20:33

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

Beitrag 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 ;)
Mein aktuelles Projekt -> FirstStrike | Alte Projekte mit Quellcode -> stacker | snake² | detriz | giDX² - DirecX7 based 2D Engine
Benutzeravatar
Jonathan
Establishment
Beiträge: 1963
Registriert: 04.08.2004, 20:06
Kontaktdaten:

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

Beitrag 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.
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
gombolo
Beiträge: 86
Registriert: 26.01.2011, 20:33

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

Beitrag 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"
Mein aktuelles Projekt -> FirstStrike | Alte Projekte mit Quellcode -> stacker | snake² | detriz | giDX² - DirecX7 based 2D Engine
Benutzeravatar
Krishty
Establishment
Beiträge: 7852
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

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

Beitrag 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.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
gombolo
Beiträge: 86
Registriert: 26.01.2011, 20:33

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

Beitrag von gombolo »

viel Danke Euch beiden...ist jetzt zu verstehen weshalb die Meldung gekommen ist... :)
Mein aktuelles Projekt -> FirstStrike | Alte Projekte mit Quellcode -> stacker | snake² | detriz | giDX² - DirecX7 based 2D Engine
Antworten