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

Thorbinator

Frischling

  • »Thorbinator« ist der Autor dieses Themas

Beiträge: 21

Wohnort: Karlsruhe

  • Private Nachricht senden

1

19.02.2012, 16:58

Linkerfehler 2019 beim Kompilieren

Hallo!
Ich habe vor wenigen Wochen meinen PC neu aufgesetzt.
Als ich Visual C++ 2010 und das DirectX SDK heruntergeladen habe, habe ich auch noch das Update von David heruntergeladen, mit welchem man auch VC++ 2010 benutzen kann.
Gesagt getan, das Beispiel mit dem Konfigurationsdialog funktionierte (und funktioniert immer noch) einwandfrei; aber als ich dann das erste Beispiel mit dem Fenster geschrieben hatte, kamen (und kommen immer noch :-( ) Fehlermeldungen; Linkerfehler.
VC++ spuckt das hier aus:



1>------ Erstellen gestartet: Projekt: Eigenes Projekt, Konfiguration: Debug Win32 ------
1> Versuche eine harte Verknuepfung zu erzeugen ...
1> Feste Verknüpfung erstellt für C:\Spieleprogrammierung\3D-Spieleprogrammierung-Update\Eigenes Projekt\TriBaseD.dll <<===>> C:\Spieleprogrammierung\3D-Spieleprogrammierung-Update\TriBase\Bin\TriBaseD.dll
1> OK.
1>Eigenes Projekt.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@YA?AW4tbResult@@XZ)" in Funktion "_WinMain@16".
1>Eigenes Projekt.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)" in Funktion "_WinMain@16".
1>C:\Spieleprogrammierung\3D-Spieleprogrammierung-Update\Eigenes Projekt\Eigenes Projekt (Debug).exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 1 aktuell, 0 übersprungen ==========

Also am Code kann es nicht liegen da ich ihn
1. 100%-tig überprüft habe und
2. Den Code vom Beispiel übernommen habe.

Hab ich irgendwas bei den Einstellungen vom Linker falsch gemacht oder muss ich irgendwelche .cpp's dem Projekt hinzufügen?

Hoffe mir kann jemand helfen
Thorbinator
===========

C-/C++-Quelltext

1
2
3
int Zufallszahl() {
    return 3; // Zufallszahl wird zurückgegeben (durch Würfel herausgefunden)
}

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

19.02.2012, 17:08

Du hast wohl vergessen die TriBase.lib zu linken?

Thorbinator

Frischling

  • »Thorbinator« ist der Autor dieses Themas

Beiträge: 21

Wohnort: Karlsruhe

  • Private Nachricht senden

3

19.02.2012, 17:14

Hmm, aber bei mir in den Einstellungen Linker -> Eingabe -> Zusätzliche Abhängigkeiten steht TriBase.lib;(AdditionalDependencies)
Und im Debug Modus halt die TriBaseD.lib!?
Meinst du das?
Thorbinator
===========

C-/C++-Quelltext

1
2
3
int Zufallszahl() {
    return 3; // Zufallszahl wird zurückgegeben (durch Würfel herausgefunden)
}

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

19.02.2012, 17:16

Hm, ja, das ist merkwürdig. Evtl. fehlt noch eine andere lib, oder diese Funktionen wurden nicht mit in die TriBase kompiliert (z.B. weil die Files im TriBase Projekt nicht drin sind)?

Thorbinator

Frischling

  • »Thorbinator« ist der Autor dieses Themas

Beiträge: 21

Wohnort: Karlsruhe

  • Private Nachricht senden

5

19.02.2012, 17:19

Ich erstell nochmal ein neues Projekt vielleicht klappts dann; aber kann es sein, dass ich irgendwelche Dateien dem Projekt hinzufügen muss?
Thorbinator
===========

C-/C++-Quelltext

1
2
3
int Zufallszahl() {
    return 3; // Zufallszahl wird zurückgegeben (durch Würfel herausgefunden)
}

Thorbinator

Frischling

  • »Thorbinator« ist der Autor dieses Themas

Beiträge: 21

Wohnort: Karlsruhe

  • Private Nachricht senden

6

19.02.2012, 17:21

also .cpp dateien?`
Thorbinator
===========

C-/C++-Quelltext

1
2
3
int Zufallszahl() {
    return 3; // Zufallszahl wird zurückgegeben (durch Würfel herausgefunden)
}

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

19.02.2012, 17:22

Weiß ich ehrlich gesagt nicht, glaub ich aber eher nicht ;)

Thorbinator

Frischling

  • »Thorbinator« ist der Autor dieses Themas

Beiträge: 21

Wohnort: Karlsruhe

  • Private Nachricht senden

8

19.02.2012, 17:39

JUHUUUUU!

Habs endlich geschafft!
Man musste die .cpp Datei (InitWindow.cpp) & eine .h Datei (InitWindow.h) zum Projekt hinzufügen und noch eine Ressourcendatei erstellen, mit dem gleichen Inhalt wie alle anderen (Titel).rc Dateien. Das Icon hat dann noch gefehlt, den auch hinzufügen und in den Ordner kopieren(wie alle hinzugefügten Dateien)
Ach ja, ein Danke an dot, weil er mir so schnell geantwortet hat.
Thorbinator
===========

C-/C++-Quelltext

1
2
3
int Zufallszahl() {
    return 3; // Zufallszahl wird zurückgegeben (durch Würfel herausgefunden)
}

Thorbinator

Frischling

  • »Thorbinator« ist der Autor dieses Themas

Beiträge: 21

Wohnort: Karlsruhe

  • Private Nachricht senden

9

19.02.2012, 21:39

So, hab jetzt leider noch mal nen Linkerfehler, aber dot, du hattest von anfang an recht. Ich musste noch lib's einfügen und jetzt gehts!!!!!!!!!!!
Thorbinator
===========

C-/C++-Quelltext

1
2
3
int Zufallszahl() {
    return 3; // Zufallszahl wird zurückgegeben (durch Würfel herausgefunden)
}

Werbeanzeige