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

02.05.2008, 10:57

Fehler beim ersten Listing

Hallo,
ich habe ersmal den Code kopiert um zu schauen ob ich den überhauüt kompilieren kann.
Nein, es funktioniert nicht =) .
Ich habe InitWindow.h, resource.h, Fenster.cpp und InitWindow.cpp:

Fehlermeldung:

Buildprotokoll


Erstellen wurde gestartet: Projekt: "Test", Konfiguration: "Debug|Win32"

Befehlszeilen


Die temporäre Datei "c:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Test\Debug\RSP00000E2363616.rsp" wird erstellt. Inhalt:
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP "..\..\..\Allgemeines\InitWindow.cpp"

"..\..\..\Test\Fenster.cpp"
]Erstellen der Befehlszeile "cl.exe @"c:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Test\Debug\RSP00000E2363616.rsp" /nologo /errorReport:prompt"

Ausgabefenster


Kompilieren...
Fenster.cpp
InitWindow.cpp
c:\dokumente und einstellungen\fabi\desktop\allgemeines\initwindow.cpp(23) : error C2440: 'Initialisierung': 'const char [16]' kann nicht in 'LPCWSTR' konvertiert werden
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
c:\dokumente und einstellungen\fabi\desktop\allgemeines\initwindow.cpp(50) : error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [16]' in 'LPCWSTR' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
c:\dokumente und einstellungen\fabi\desktop\allgemeines\initwindow.cpp(67) : error C2664: 'UnregisterClassW': Konvertierung des Parameters 1 von 'const char [16]' in 'LPCWSTR' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
Code wird generiert...

Ich habe alle Libs und Includes (SDK,directX, TriBase) verlinkt.

Wieso kommt dieser Fehler =) ?

Danke

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

02.05.2008, 10:59

Projekteigenschaften öffnen. Unter den allgemeinen Einstellungen das Characterset auf "Multibyte" stellen.
@D13_Dreinig

3

02.05.2008, 12:26

Bei mir gibt es kein Characterset ?
Ich bin bei Project>Name-Settings>Allgemein iwas und da war nix

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

02.05.2008, 12:29

Projekt->[Projekt]-Eigenschaften->Konfigurationseigenschaften->Allgemeint-> Zeichensatz

5

02.05.2008, 12:53

So das geht, aber jetz bekomme ich folgende Fehlermeldung:

Befehlszeilen


Die temporäre Datei "c:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Test\Debug\RSP00000235683648.rsp" wird erstellt. Inhalt:
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP "..\..\..\Test\Fenster.cpp"
]Erstellen der Befehlszeile "cl.exe @"c:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Test\Debug\RSP00000235683648.rsp" /nologo /errorReport:prompt"Die temporäre Datei "c:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Test\Debug\TMP00000335683648.tmp" wird erstellt. Inhalt:
[
1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ ".\\Debug\\Test.exe.embed.manifest"
]Erstellen der Befehlszeile "rc.exe /fo".\Debug\Test.exe.embed.manifest.res" "c:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Test\Debug\TMP00000335683648.tmp""
Die temporäre Datei "c:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Test\Debug\RSP00000435683648.rsp" wird erstellt. Inhalt:
[
/OUT:"C:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Debug\Test.exe" /INCREMENTAL /MANIFEST /MANIFESTFILE:"Debug\Test.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Debug\Test.pdb" /SUBSYSTEM:WINDOWS /DYNAMICBASE /NXCOMPAT /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

".\Debug\Fenster.obj"

".\Debug\InitWindow.obj"

".\Debug\Test.exe.embed.manifest.res"
]Erstellen der Befehlszeile "link.exe @"c:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Test\Debug\RSP00000435683648.rsp" /NOLOGO /ERRORREPORT:PROMPT"

Ausgabefenster


Kompilieren...
Fenster.cpp
Manifest in Ressourcen wird kompiliert...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation. All rights reserved.
Verknüpfen...
Fenster.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbExit(void)" (__imp_?tbExit@@YA?AW4tbResult@@XZ)" in Funktion "_WinMain@16".
Fenster.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbDoMessageLoop(enum tbResult (__cdecl*)(float),enum tbResult (__cdecl*)(float))" (__imp_?tbDoMessageLoop@@YA?AW4tbResult@@P6A?AW41@M@Z0@Z)" in Funktion "_WinMain@16".
Fenster.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".
InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbWriteToLog(char *,...)" (__imp_?tbWriteToLog@@YA?AW4tbResult@@PADZZ)" in Funktion ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)".
InitWindow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) char * __cdecl tbRemoveDir(char *)" (__imp_?tbRemoveDir@@YAPADPAD@Z)" in Funktion ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)".
C:\Dokumente und Einstellungen\Fabi\Desktop\Fenster\Test\Debug\Test.exe : fatal error LNK1120: 5 nicht aufgelöste externe Verweise.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

6

02.05.2008, 13:38

Du hast die libs nicht richtig gelinkt.

https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=8686

7

02.05.2008, 17:00

Bei Includes habe ich:

$(WindowsSdkDir)\include
D:\Programme\User\TriBase Engine\Include
C:\Programme\Microsoft DirectX SDK (December 2005)\Include

und dann die standart

Bei Libs habe ich

$(WindowsSdkDir)\lib
D:\Programme\User\TriBase Engine\Lib
C:\Programme\Microsoft DirectX SDK (December 2005)\Lib\x86

und dann wieder die standarts

Ist das nicht richtig ?

Unknown


Ich denke das das diese

#include "..\\..\\Allgemeines\\InitWindow.h" nicht stimmen kann.
Ich habe dann einfach das Verzeichnis Allgemeines auf mitverlinkt =)
Aber geht trotzdem nicht =(

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

02.05.2008, 17:40

Du musst die .lib der tbEngine explizit linken. Den Suchpfad für .lib Dateien einstellen reicht da natürlich nicht.
@D13_Dreinig

9

03.05.2008, 13:14

Und wie mach ich sowas ?
Ich Buch stand ich soll die Pfade angeben, und das habe ich doch gemacht , oder ?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

03.05.2008, 13:53

Wie die .lib genau benannt ist weiß ich nicht. Aber linken kannst du entweder über die Projektsettings oder, wenn du Visual Studio verwendest, über:

C-/C++-Quelltext

1
#pragma comment( lib, "deinelibrary.lib" )
@D13_Dreinig

Werbeanzeige