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

Christian

Frischling

  • »Christian« ist der Autor dieses Themas

Beiträge: 17

Wohnort: Ludwigshafen

Beruf: Schüler

  • Private Nachricht senden

1

15.05.2007, 16:25

VC++ Express & TriBase

Hallo Moderatoren tut mir leid, dass ich jetzt einen neues Thema aufmache, eigendlich wollte ich es in den bereits vorhandenen Thread zum Thema posten, bekam aber die Meldung, dass dort nur Mods Antworten erstellen können. Ihr könnts ja noch verschieben sry.

Also ich hab meinen Rechner formatiert und beim erneuten Einrichten von VC++ Express und der TriBase Engine wieder Probleme. Viele davon konnte ich lösen, jetzt bekomm ich folgendes nicht geregelt:

Meine Fehlermeldungen:

Quellcode

1
2
3
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbInit(void)" (__imp_?tbInit@@YA?AW4tbResult@@XZ)" in Funktion "_WinMain@16".

TriBaseProj.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.


Und diesen Schritt konnt ich nicht ausführen, weil ich diese Auflistung unter Projekt -> Eigenschaften -> Linker -> Allgemein,... nicht habe. Wo soll ich die Libs entfernen oder hinzufügen, wenn sie bei mir nicht angezeigt werden?

Zitat

Im importierten Projekt (das gilt für ALLE in der 2005er-Version importierten Projekte) müssen erst einmal die hinzugelinkten Libraries geändert werden:
- (entfernen): odbc32.lib odbccp32.lib (das sind die beiden letzten)
- (hinzufügen): kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib


Gruß Christian

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

15.05.2007, 16:32

Mal so ne dumme Zwischenfrage:

Wie weit kommst du denn bei dem Versuch diese Auflistung zu finden? Also was ist der letzte Schritt, den du erfolgreich abschließen konntest?
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.

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

3

15.05.2007, 19:41

Kann es sein, dass du versuchst die Tribase unter dos zum laufen zu bringen?
(Win32 Konsolenanwendung) Du musst dann auch noch die Windows-Anwendung(Auswahl-Bildschirm) ändern. Die Frage ist nur ob du diese Funktion schon aktiviert hast.

Die von dir gesuchte Datei heißt corewin_express und befindet sich unter
Microsoft Visual Studio 8\VC\VCProjectDefaults
(kannst du mit dem Editor öffnen)
Aber das mit der Win32-Anwendung musst du auch noch einstellen(such mal(weiß ich jetzt nicht auswendig))

Christian

Frischling

  • »Christian« ist der Autor dieses Themas

Beiträge: 17

Wohnort: Ludwigshafen

Beruf: Schüler

  • Private Nachricht senden

4

16.05.2007, 14:26

Also ich hab jetzt meine Fehler gefunden bekomm aber sobald ich ein Problem löse gleich die doppelte Menge an neuen Linker-Errors :cry:

Kann es sein, dass ich eventuell zu neue Versionen von VC++ und DirectX SDK verwende? Hier meine Software:

Microsoft Visual Studio 2005
Version 8.0.50727.762

Microsoft DirectX SDK April 2007

Microsoft Platform SDK for Windows Server 2003 R2

Falls es an den Versionen liegt, welche benutzt ihr, bei denen die TriBase läuft??

Gruß Christian

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

5

16.05.2007, 14:49

DX-SDK hab ich das von April 2006... PSDK und VS sollten auf jeden Fall ok sein. Ich glaube aber nicht, dass es ernsthafte Probleme wegen den Unterschieden im DX-SDK gibt.

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

6

16.05.2007, 15:10

Wahrscheinlich hast du die Dateien flasch gelinkt. Poste doch mal die Fehler!

Christian

Frischling

  • »Christian« ist der Autor dieses Themas

Beiträge: 17

Wohnort: Ludwigshafen

Beruf: Schüler

  • Private Nachricht senden

7

16.05.2007, 17:13

Also ich beschreib jetzt mal wie ich gelinkt habe bei den Verzeichnissen der IDE:

Includedateien:
C:\TriBase\Include

C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc

C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Include



Bibliotheksdateien:
C:\TriBase\Lib

C:\Programme\Microsoft DirectX SDK (April 2007)\Lib\x86

C:\Programme\Microsoft Platform SDK for Windows Server 2003 R2\Lib



Dann hab ich mir noch die Vorkompillierten Header hier heruntergeladen und im TriBase Ordner die dlls und libs ersetzt, um nicht schon da etwas falsch zu machen.


Dann habe ich mir ein leeres Projekt erstellt und versucht die hier beschriebenen Einstellungen vorzunehmen:

Zitat

Im importierten Projekt (das gilt für ALLE in der 2005er-Version importierten Projekte) müssen erst einmal die hinzugelinkten Libraries geändert werden:
- (entfernen): odbc32.lib odbccp32.lib (das sind die beiden letzten)
- (hinzufügen): kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib


Bei mir war jedoch unter Linker->Zusätzliche Abhängigkeiten nichts gestanden, da hab ich einfach mal die bei "hinzufügen" genannten Libs hinzugefügt.



Wenn ich das Projekt jetzt erstellen will bekomme ich immernoch folgende Fehlermeldungen:

Quellcode

1
2
3
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbInit(void)" (__imp_?tbInit@@YA?AW4tbResult@@XZ)" in Funktion "_WinMain@16".

fatal error LNK1120: 1 nicht aufgelöste externe Verweise.


An meinem Quellcode wirds wohl nicht liegen, ich versuch ja nur die Engine zu Initialisieren:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
#include <windows.h> 
#include <TriBase.h> 

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, 
               LPSTR lpCmdLine, int nShowCmd) 
{ 
   tbInit(); 

return (0); 
}


Was hab ich jetzt falsch gelinkt?
Danke für eure Hilfe

Gruß Christian

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

8

16.05.2007, 19:36

Du hast wie ich bereits versuchte anzudeuten eine einfache Win32 Konsolenanwendung erstellt und versuchst nun ein Windows Fenster zu öffnen.

Du musst ein neues Projekt erstellen und Win32-Anwendung auswählen,im folgenden Auswahlbildschirm musst du dann Windows-Anwendung wählen.

Falls du keine Windows-Anwendung auswählen kannst musst dunoch folgendes machen:

Ändere in der Datei AppSettings.htm die Zeilen 441 -444 (MS Editor und Zeilenumbruch raus machen und bei Ansicht Statuszeile einschalten):

Installationsordner --> "\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\"

Ändere in der Datei diese Zeilen ab (441- 444) -->


Code:

C-/C++-Quelltext

1
2
3
4
// WIN_APP.disabled = true;

// WIN_APP_LABEL.disabled = true;

// DLL_APP.disabled = true;

// DLL_APP_LABEL.disabled = true;


siehe https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=6926&highlight=visual++2005+windowsanwendung

Christian

Frischling

  • »Christian« ist der Autor dieses Themas

Beiträge: 17

Wohnort: Ludwigshafen

Beruf: Schüler

  • Private Nachricht senden

9

17.05.2007, 15:48

Hi vielen Dank erstmal für den Tipp mit den Win32 Anwendungen, das klappt soweit. Jetzt habe ich mir eine Win32 Anwendung gemacht (leeres Win32 Projekt) und es nocheinmal versucht, leider bleibt genau die gleiche Fehlermeldung :cry:
Jetzt sind noch 2 Warnungen hinzugekommen, hoffe die sind nicht schlimm:

Quellcode

1
2
3
warning C4312: 'Typumwandlung': Konvertierung von 'LONG' in größeren Typ 'PVOID'

warning C4267: '=': Konvertierung von 'size_t' nach 'int', Datenverlust möglich


Was denkt ihr woran kann mein LinkerError noch liegen??

Gruß Christian[/code]

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

10

17.05.2007, 17:52

Hm, als bei mir klappts ohne Probleme. Wüsst auch nicht woran das liegen könnte(Vllt. doch zu altes PSDK?)

Werbeanzeige