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

1

06.11.2006, 17:55

Probleme beim Kompilieren der BaseClasses.sln

Hallo erstmal.
Es tut mir Leid (wirklich, ich weiss, wie es ist, wenn Foren mit unnützen Beiträgen zugemüllt werden), dass ich einen eigentlich so unnützen Beitrag aufmachen muss, aber ich verzweifle gerade daran, den Linker beim Kompilieren der BaseClasses.sln zu setzen.
Ich habe bereits das FAQ und die Suchfunktion benutzt, aber es wurde immer nur gesagt: "Ich finde den Linkereintrag in den Projekteigenschaften nicht, EDIT: habs gefunden"...
Ich habe auch bereits in dem Bibliothekar, aber dort sind alle Einträge vollkommen leer (Zusätzliche Abhängigkeiten, Zusätzliche Bibliotheksverzeichnisse)...
Also, wie ich schon erwähnt habe, tut es mir Leid, dass ich mit dem Problem selber nicht zurande komme...

mfg TheOffspring

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

06.11.2006, 18:15

^^hi

erstmal:

nur kein schlechtes gewissen ;)

ich hoffe das sich das jetzt gelegt hat.
wer gewillt ist zu helfen wird einfach posten und wer nicht, der wird hoffentlich einfach nichts sagen (auch wenns für manche net immer so einfach ist)

ok, nun zum problem:

ich denke es geht um das hier:

http://www.m4studios.at/dot/spde/linker.jpg

was genau willst du denn "setzen"?

gib uns ein bisschen mehr info oder poste die fehlermeldungen ;)

3

06.11.2006, 21:15

OK, ich beschreib des Problem etwas genauer:
Im FAQ-Bereich (Buch 3D-Spiele Programmierung) gibt es ein Tutorial(Lösung: TriBase und Visual C++ 2005 Express), das erklärt, wie man die Binärdateien für Visual C++ 2005 erzeugen muss. <Direct Link>
Unter anderem, muss man das Projekt BaseClasses.sln kompilieren, aber man muss davor auch noch ein paar dazugelinkte Libraries ändern (hinzufügen/entfernen). Mein Problem ist jetzt, wenn ich dieses Projekt öffne, und unter Projekt->Eigenschaften die richtigen Dateien Linken will, ist das Problem, das ich das es unter Konfigurationseigenschaften keine Abteilung Linker gibt(also, nicht das, was dein Bild zeigt).
Nach ein bisscehn suchen im Forum, habe ich gesehen, dass einige Leute gesagt haben, man solle unter "Bibliothekar" schauen, aber dort habe ich auch keine Linker zu irgendwelchen Bibliotheken gefunden.

Ich hoffe, ich habe es jetzt verständlich erklärt. :)

Danke, und

mfg DaDrivel

P.S.

Zitat


gib uns ein bisschen mehr info oder poste die fehlermeldungen Wink

Des lustige ist, es gibt keine Fehlermeldungen beim kompilieren... aber des Problem ist ja wie gesagt, dass ich andere Libs linken soll(ich denke mal daher wird das falsche kompiliert)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

06.11.2006, 21:24

^^

dann rechtsklick mal nicht auf die solution, sondern auf das projekt ;)

ich glaub nicht, dass "was falsches kompilliert wird". und wenn hätte das mit dem linker net viel zu tun, weil der kompilliert net, sondern linkt was beim kompillieren rausgekommen ist...

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

5

06.11.2006, 21:41

Das Problem liegt eher daran, dass das Tutorial nicht ganz einfach zu verstehen ist an der Stelle... in den BaseClasses müssen garkeine Libs hinzugefügt werden, sondern nur ein paar Anpassungen im Quellcode vorgenommen werden. Wenn ich mich recht erinnere muss man dann die Libs die man erstellt noch irgendwie umbenennen (steht im Tut).

Das Hinzufügen von Linkereinstellungen kommt erst im nächsten Schritt, wo es darum geht die TB neu zu kompilieren - da findest du dann auch wieder die Einstellungen vom Linker wenn nix schief geht ;)

6

07.11.2006, 17:00

Zitat


ich glaub nicht, dass "was falsches kompilliert wird". und wenn hätte das mit dem linker net viel zu tun, weil der kompilliert net, sondern linkt was beim kompillieren rausgekommen ist...

Wenn ich nicht etwas falsch verstanden habe, das bedeutet "Linken", dass man dem Compiler 'sagt', wo er die Libs findet, damit er sie mit in die Exe miteinbinden kann. Wenn man jetzt eine falsche Lib linkt, dann kann es ja sein, dass es in der falschen Lib die gleiche Funktion wie in der richtigen gibt, und damit sozusagen die falsche Funktion verwendent wird.
Tut mir Leid, wenn ich mich etwas missverständlich ausgedrückt habe.

Zitat


dann rechtsklick mal nicht auf die solution, sondern auf das projekt

Jo, hab ich schon gemacht, wird trotzdem nichts angezeigt.

Zitat


Das Problem liegt eher daran, dass das Tutorial nicht ganz einfach zu verstehen ist an der Stelle... in den BaseClasses müssen garkeine Libs hinzugefügt werden, sondern nur ein paar Anpassungen im Quellcode vorgenommen werden. Wenn ich mich recht erinnere muss man dann die Libs die man erstellt noch irgendwie umbenennen (steht im Tut).

Hmm... ich musste nicht einmal etwas im Code umändern, dass es sich kompiliern ließ...
ich werds einfach mal ohne die Anpassungen probieren, danke für die Hilfe soweit :)

mfg DaDrivel

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

07.11.2006, 17:31

dein begriff des linkens stimmt teilweise.
der linker ist ein eigenes programm, dass nach dem compiler die vom compiler erzuegten objektdateien zu einer exe zusammenfügt (mal ganz ordinär gesagt)

http://de.wikipedia.org/wiki/Linker_%28Programm%29 ;)

8

13.11.2006, 17:03

Erstmal zu dem Post: Er hat nicht mehr richtig etwas mit der Überschrift zu tun, aber ich dachte, es rentiert sich nicht, einen neuen Thread aufzumachen.

Also, ich hab jetzt die BaseClasses und die Engine kopiliert. Danke für die Hilfe soweit :)

Aber es ist ein neues Problem entstanden ;)
Ich habe versucht ein Testprojekt,

Quellcode

1
2
3
4
5
6
7
#include "stdafx.h"
#include "TriBase.h"

int main ()
{
   return 0;
}

zu kompilieren, aber es kamen einige Compilerfehler. Ich poste einen Teil des Logs:

Zitat


\dsound.h(230) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.

Jetzt wurde in dem, oben genannten, Tutorial erwähnt, dass man die Zeile

Quellcode

1
operator=(LONG);

durch

Quellcode

1
COARefTime& operator=(LONG);

ersetzen sollte.
Das Problem ist, ich habe weder in der TriBase-Engine noch in dem DirectX SDK (in dem befindet sich die dsound.h) so eine Zeile gefunden.


mfg DaDrivel

P.S:
Großes Lob an David Scherfgen und Heiko Kalista: Zwei Super Bücher habt ihr verfasst! Sie sind nicht nur lehrreich sondern auch gut zu verstehen (für einen 10.Klässler zumindest). Weiter so!!! :)

9

23.11.2006, 16:04

Hat keiner von euch eine Idee?
Wäre wirklich traurig, weil ich sonst nicht besonders viel von der Engine und dem Buch hätte.
Ich gehe noch mal etwas genauer auf das Problem ein:
Die Zeile, in der der oben genannte Kompilerfehler auftritt ist:

Quellcode

1
typedef const WAVEFORMATEX *LPCWAVEFORMATEX;

Mir fällt dazu nix mehr ein... Ich habe rumprobiert und versucht, aber nix geschafft (ausser die Dateien komplet zu zerstören...).
Ich kompiliere das Projekt mit Visual C++ 2005 Express Edition

Danke und

mfg DaDrivel

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

10

23.11.2006, 17:01

Also spontan weiß ich grad nich weiter... kannst mich ja mal im ICQ adden (314-261-676) hab den Spaß mit der 2. Auflage schon paar mal gemacht^^

Werbeanzeige