Du bist nicht angemeldet.

Werbeanzeige

11

07.02.2017, 17:29

Der Kopiervorgang der TriBase.dll von A nach B ist fehlgeschlagen.
Nach dem Kompilieren wird die CopyDLL.bat aufgerufen.
Diese hat vermutlich Probleme mit den Pfadangaben (Leerzeichen etc.).
Entweder kopierst du die DLL manuell, oder du passt die Pfadangaben deines Projekts entsprechend an.
fka tm

12

07.02.2017, 17:33

Wenn ich den Pfad komplett lösche bekomme ich folgende 2 Fehler:
LNK2019 Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion ""int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)".
LNK1120 1 nicht aufgelöste Externe
Albert Einstein sagte: "2 Stunden mit einem netten Mädchen fühlen sich an wie 20 Minuten, 20 Minuten auf einem heißen Ofen fühlen sich an wie 2 Stunden. - Das ist Relativität"

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 237

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

13

07.02.2017, 17:52

Dir fehlt wohl die main-Funktion in deinem Programm - falls du ein Konsolenprojekt erzeugt hast - vermutlich wolltest du eine Win32-Anwendung erzeugen?!

Bzgl. Kopierfehler: Da es doch bei den mitgelieferten Projekten funktioniert (laut deiner Aussage), tippe ich auf einen Tippfehler deinerseits, bzw. dass du die Anleitung nicht korrekt befolgt hast. Meine Vermutung: Du bist im Debug-Modus und hast vergessen, in den Projekteinstellungen unter "Pre-Link Event" TriBase.lib durch TriBaseD.lib zu ersetzen.

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 237

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

14

10.02.2017, 12:25

Das Download-Paket wurde aktualisiert. Der TriBase-Modellkonverter verfügt jetzt über bessere Kompatibilität zum 3DS-Dateiformat. Insbesondere sollten mit Cinema 4D erstellte Dateien nun lesbar sein.

15

10.02.2017, 15:58

WICHTIG!!

An alle die mit dem neuen Converter eine Datei von C4D convertieren wollen:
Der Converter funktioniert nur, wenn in C4D ein Material erstellt wurde und jedem Objekt mindestens eines zugewiesen wurde (also nicht mit dem Standard Grau).
Albert Einstein sagte: "2 Stunden mit einem netten Mädchen fühlen sich an wie 20 Minuten, 20 Minuten auf einem heißen Ofen fühlen sich an wie 2 Stunden. - Das ist Relativität"

16

12.05.2017, 16:19

Hab in der Engine einen Fehler entdeckt, welcher aber schon in der Vorigen drinnen ist in der tbTextureManager.cpp:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
        // Fehler beim Laden!
        if(iNumTries >= 8) TB_ERROR_DIRECTX("D3DXCreateTextureFromFileInMemoryEx", hResult, NULL);
        
        switch(iNumTries)
        {
        case 1: Format = D3DFMT_A8R8G8B8;
        case 2: Format = D3DFMT_A1R5G5B5;
        case 3: Format = D3DFMT_X8R8G8B8;
        case 4: Format = D3DFMT_R8G8B8;
        case 5: Format = D3DFMT_R5G6B5;
        case 6: Format = D3DFMT_X1R5G5B5;
        case 7: Format = tbDirect3D::Instance().GetPresentParams().BackBufferFormat;
        }

Hier fehlt das break; nach jedem case, somit lädt er zuerst mit D3DFMT_UNKNOWN und wenn das fehlschlägt bis zu 7-mal immer mit BackBufferFormat.
In allen vFile Funktionen: LoadTexture, LoadCubeTexture, ...

Richtig wäre:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
      switch(iNumTries)
      {
        case 1: Format = D3DFMT_A8R8G8B8; break;
        case 2: Format = D3DFMT_A1R5G5B5; break;
        case 3: Format = D3DFMT_X8R8G8B8; break;
        case 4: Format = D3DFMT_R8G8B8;   break;
        case 5: Format = D3DFMT_R5G6B5;   break;
        case 6: Format = D3DFMT_X1R5G5B5; break;
        case 7: Format = (D3DFORMAT)mDirect3d9.getBackBufferFormat();
      }

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 237

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

17

12.05.2017, 16:36

Danke, das werde ich korrigieren!

ByteJunkie

Alter Hase

Beiträge: 821

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

18

12.05.2017, 17:48

Hey,

danke Gottfried. Schön, dass Du Dich auch mit der Tribase beschäftigst.

Das werde ich gleich mal koorigieren.
"Alle Menschen sind klug. Die einen vorher, die anderen nachher." :huh:

19

08.03.2018, 13:49

VisualStudio.15.Release/15.6.0+27428.1

Guten Tag zusammen.

Ich habe Davids "Lies mich" aus dem hier behandeltem Update durchgearbeitet und dann
"sollte nach dem Starten der TriBase-Konfigurationsdialog erscheinen (aber nichts weiter passieren)"
(Schritt 4: Schreiben Sie Ihr Programm!).

Leider war das aber nicht so und ich bekam erstmal 93 Fehler angezeigt.

Diese habe ich alle behoben, weiß aber nicht ob ich dabei etwas falsch gemacht oder hätte besser machen können (und vor allem was und wie). ?(

Jedenfalls bekomme ich jetzt den TriBase-Konfigurationsdialog angezeigt. :thumbsup:

Ich verwalte das Projekt mit einem git-repo und so ist alles schön nachvollziehbar.

Eine Liste der (behobenen) Fehler habe ich angehängt, sowie alle Infos über VisualStudio zu dem Zeitpunkt und außerdem
einen git patch, mit welchem sich alle meine Änderungen anschauen und aufs eigene git-repo anwenden lassen.

Ich denke für einen Profi in Sachen C++ sind das alles Kleinigkeiten, aber mich hat das ganz schön ins Schwitzen gebracht. :pillepalle:

Es wäre schön wenn sich das mal jemand anschauen könnte (David?), sodass die TBE entsprechend aktualisiert wird. :vain:

Viele Grüße, Martin
»linlux« hat folgende Datei angehängt:

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »linlux« (08.03.2018, 14:09) aus folgendem Grund: Update: Zusammenfassung der Anhänge in ein Zip-Archiv (git patch hinzugefügt)


Seal33

Frischling

Beiträge: 18

Beruf: Student

  • Private Nachricht senden

20

29.04.2018, 20:27

Hallo zusammen,

ich habe mich kürzlich entschieden nach langer Zeit nochmal ein eigenes Projekt zu starten. Deshalb habe ich hier die neueste Projektmappe sowie Visual Studio Community 2017 und DX9 installiert.

Die Projekte aus der Mappe konnte ich auch alle weitgehend problemloß kompilieren, allerdings kriege ich es einfach nicht hin ein eigenes Projekt zu starten.
Dazu habe ich die Anleitung in der LiesMich 1:1 verfolgt. Die einzige Außnahme ist dass ich statt einer neuen Win32-Anwendung ein leeres Projekt starten musste, da die Option "Win32 Project" bei mir fehlt(?).

Wenn ich nun allerdings versuche den Beispielcode zu kompilieren, schmeißt der Debugger mir zahllose fehler raus.
Hier ein paar Beispiele (siehe Anhang für vollständige Liste):

C-/C++-Quelltext

1
2
3
4
1>d:\programmieren\3d-spieleprogrammierung-update\tribase\dependencies\include\transip.h(214): error C4596: "Copy": Unzulässiger vollständig angegebener Name in Elementdeklaration
1>d:\programmieren\3d-spieleprogrammierung-update\tribase\dependencies\include\videoctl.h(54): error C2385: Mehrdeutiger Zugriff von "{dtor}".
1>d:\programmieren\3d-spieleprogrammierung-update\tribase\dependencies\include\videoctl.h(54): note: könnte "{dtor}" in Basis "IDirectDraw" sein
1>d:\programmieren\3d-spieleprogrammierung-update\tribase\dependencies\include\videoctl.h(54): note: oder könnte "{dtor}" in Basis "CUnknown" sein



Was mich besonders wundert ist, dass es sich scheinbar um "Fehler" im TriBase-Code handelt, welche mir beim Kompilieren der anderen Projekte (z.B. Galactica) jedoch nicht angekreidet werden.

Hat hier irgendjemand eine Ahnung woran das Problem liegen könnte?

Gruß

Seal33
»Seal33« hat folgende Datei angehängt:

Werbeanzeige