Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

leo

Frischling

  • »leo« ist der Autor dieses Themas
  • Private Nachricht senden

1

23.12.2005, 10:43

Libary erstellen

Moin,

Da meine Engine jetzt so das Grundlegende beherrscht, wollte ich ein
Projekt mit dieser Anfangen. Dafür muss ich aber irgendwie eine .lib
haben, wie bekomme ich die? Ich habe von jeder .cpp Datei eine .obj,
kann ich die jetzt zu einer .lib Datei zusammenfügen? Oder muss man
dafür beim Projekt erstellen was angeben?

2

23.12.2005, 11:40

Normalerweise kommt man bei ner Funktionssammlung auch ohne ne lib aus und man inkludiert die Hauptheaderdatei (die wiederum inkludiert dann zb Vector.h, Matrix.h ...).
Wenn du dennoch eine lib erstellen willst, musst du ein neues Projekt anfangen, und zwar ne statische Bibliothek (oder bei ner DLL ne dynamische Linkbibliothek).
Mein Projekt: Rise of the Sylvan

leo

Frischling

  • »leo« ist der Autor dieses Themas
  • Private Nachricht senden

3

23.12.2005, 11:43

Zitat von »"Crash"«

Normalerweise kommt man bei ner Funktionssammlung auch ohne ne lib aus und man inkludiert die Hauptheaderdatei (die wiederum inkludiert dann zb Vector.h, Matrix.h ...).


Aber dann werden doch gar nicht die .cpp Dateien eingefügt, oder?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

23.12.2005, 11:53

Also hier herrscht eindeutig ein wenig Unwissenheit vor ;) . In Prinzip könnte man die ganzen Dateien in jedes neue Projekt einfügen und bräuchte keine lib. Da dabei aber die Dateien immer neu kompiliert und gelinkt werden müssen und das einfügen auch einen nicht unerheblichen Zeitaufwand bedeutet, kann man ein komplettes Projekt zu einer lib zusammenfassen. Klassischer Weise stellt man dann auch eine Headerdatei zusammen die alle Untereinheiten(Physik, Grafik, Sound usw.) zusammenfasst.
Es macht keinen Sinn für jede cpp +h Kombination eine eigene lib zu erstellen!
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

leo

Frischling

  • »leo« ist der Autor dieses Themas
  • Private Nachricht senden

5

23.12.2005, 12:39

Zitat von »"Nox"«

Also hier herrscht eindeutig ein wenig Unwissenheit vor ;) .


Stimmt, ich hab echt gar keine Ahnung davon :-D

Soll ich dann in der Headerdatei auch die ganzen .cpp Dateien einbinden, oder wie? Ansonsten gibt's ja Linker Fehler ohne Ende...

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

23.12.2005, 13:06

CPP-Dateien einbinden?!
Das ist doch hoffentlich nicht Dein Ernst!

leo

Frischling

  • »leo« ist der Autor dieses Themas
  • Private Nachricht senden

7

23.12.2005, 13:08

Zitat von »"David Scherfgen"«

CPP-Dateien einbinden?!
Das ist doch hoffentlich nicht Dein Ernst!


;p

Aber wie soll denn mein Projekt sonst an die .cpp Dateien kommen?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

23.12.2005, 13:17

ALSO in so einer .h stehen die Funktionen die später von anderen Projekten genutzt werden sollen, sie werden also in der Headerdatei deklariert. In der .lib stehen dann die eigentlichen Funktionen, jedoch schon in kompilierter Form und mitsamt Auflösungskennung.(Soweit ist mein Wissensstand).

Also nichts mit cpp einbinden. Die wurden ja schon in die .lib-Datei verwurstet. Und wenn du die .lib Datei in dein Prjekt linkst, gibt es auch keine Fehler mehr ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

leo

Frischling

  • »leo« ist der Autor dieses Themas
  • Private Nachricht senden

9

23.12.2005, 13:26

Zitat von »"Nox"«

ALSO in so einer .h stehen die Funktionen die später von anderen Projekten genutzt werden sollen, sie werden also in der Headerdatei deklariert.

Das weiß ich doch ;).

Zitat von »"Nox"«

In der .lib stehen dann die eigentlichen Funktionen, jedoch schon in kompilierter Form und mitsamt Auflösungskennung.(Soweit ist mein Wissensstand).

Das weiß ich auch, aber WIE komm ich an diese .lib? Bei mir gibt's irgendwie
als Projektart keine statische Bibliothek o_O. Da gibt's nur:
Class Library, CLR Console Application, CLR Empty Project, Windows
Forms Application, Win32 Console Application, Empty Project, Makefile
Project.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

23.12.2005, 13:40

Dann erstell ein leeres Projekt. Unter VS 2003 kann man dann die Einstellung unter Menü->Projekt->Eigenschaften von ... ->Konfigurationeigenschaften->Allgemein->Konfigurationstyp vornehmen.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige