JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Problem mit Visual C++ Express

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Robrunner
Mini JLI'ler


Alter: 32
Anmeldedatum: 08.07.2007
Beiträge: 44
Wohnort: Passau
Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 12:49    Titel: Problem mit Visual C++ Express Antworten mit Zitat

Ich möchte von Code::Blocks auf MS Visual C++ Express Edition umsteigen. Konsolenanwendungen bringe ich schon ohne Probleme zum laufen, aber mit Windows-Fenstern habe ich noch Probleme. Ich habe bereits unter Extras->Optionen->Projekte und Projektmappen->VC++-Verzeichnisse bei den Includedateien C:\programme\microsoft plattform sdk\include ;
...\include\atl und ...\include\mfc hinzugefügt und bei Bibliotheksdateien ...sdk\lib hinzugefügt. (Hoffe das stimmt alles Embarassed )

Wenn ich jetzt ein leeres Projekt starte und das HelloWindows Programm vom Buch einfüge (,dass unter Code::Blocks läuft) und auf Erstellen->Projektmappe erstellen klicke erhalte ich folgende Fehlermeldungen:

Zitat:

main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__PostQuitMessage@4" in Funktion ""long __stdcall MessageHandler(struct HWND__ *,unsigned int,unsigned int,long)" (?MessageHandler@@YGJPAUHWND__@@IIJ@Z)".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DefWindowProcA@16" in Funktion ""long __stdcall MessageHandler(struct HWND__ *,unsigned int,unsigned int,long)" (?MessageHandler@@YGJPAUHWND__@@IIJ@Z)".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__CreateWindowExA@48" in Funktion ""struct HWND__ * __cdecl CreateMainWindow(struct HINSTANCE__ *)" (?CreateMainWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z)".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__RegisterClassExA@4" in Funktion ""struct HWND__ * __cdecl CreateMainWindow(struct HINSTANCE__ *)" (?CreateMainWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z)".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetStockObject@4" in Funktion ""struct HWND__ * __cdecl CreateMainWindow(struct HINSTANCE__ *)" (?CreateMainWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z)".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadCursorA@8" in Funktion ""struct HWND__ * __cdecl CreateMainWindow(struct HINSTANCE__ *)" (?CreateMainWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z)".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadIconA@8" in Funktion ""struct HWND__ * __cdecl CreateMainWindow(struct HINSTANCE__ *)" (?CreateMainWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z)".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TranslateMessage@4" in Funktion "_WinMain@16".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DispatchMessageA@4" in Funktion "_WinMain@16".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetMessageA@16" in Funktion "_WinMain@16".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__InvalidateRect@12" in Funktion "_WinMain@16".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__MessageBoxA@16" in Funktion "_WinMain@16".
C:\Dokumente und Einstellungen\Robert\Eigene Dateien\Visual Studio 2005\Projects\Windows\Release\Windows.exe : fatal error LNK1120: 12 nicht aufgelöste externe Verweise.


Danke im voraus!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 14:15    Titel: Antworten mit Zitat

DU musst einfach nur die richtigen Libs einbinden. In VC sind die Standardmäßig drinne.
Ich weiß die Namen nicht auswendig, sollten aber nur eine Hand voll sein. Falls du VC noch installiert hast, kannst du dort nachschauen, oder ein VC Projekt versuchen zu importieren, dann sollte er die libs auch übernehmen. Ansonsten findet man die libs auch im Internet, also die Namen, einfach ein wenig suchen.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Robrunner
Mini JLI'ler


Alter: 32
Anmeldedatum: 08.07.2007
Beiträge: 44
Wohnort: Passau
Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 15:57    Titel: Antworten mit Zitat

Danke schonmal. Aber was sind das für libs und wie kann ich sie zu meinem Projekt hinzufügen? (Wie gesagt VC++-Anfänger Embarassed)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 16:03    Titel: Antworten mit Zitat

Das sieht mir eher aus, also ob der Projekttyp nicht stimmt. Hast du ein Windows oder Consolenprojekt erstellt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Robrunner
Mini JLI'ler


Alter: 32
Anmeldedatum: 08.07.2007
Beiträge: 44
Wohnort: Passau
Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 16:06    Titel: Antworten mit Zitat

Leeres Projekt.
Es gibt:

CLR-Konsolenprojekt
Leeres CLR-proj.
win32-konsolenproj.
emptyproj.
klassenbibliothek
makefile-proj.
windows-form-proj

was soll ich da nehmen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 18:03    Titel: Antworten mit Zitat

win32 konsolenprojekt, dann weiter, und da musst du statt console application windows application anklicken. und unten das häkchen bei empty projekt setzen.

Falls du die nötigen libs noch brauchst:
  • kernel32.lib
  • user32.lib
  • gdi32.lib
  • winspool.lib
  • comdlg32.lib
  • advapi32.lib
  • shell32.lib
  • ole32.lib
  • oleaut32.lib
  • uuid.lib


Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Otscho
Super JLI'ler


Alter: 36
Anmeldedatum: 31.08.2006
Beiträge: 338
Wohnort: Gummibären-Gasse
Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 18:39    Titel: Antworten mit Zitat

Ich musste da erst einmal die corewin_express.vsprops ändern damit man SDKs benutzen konnte. Steht aber alles in der Hilfe : ms-help://MS.VSExpressCC.v80/MS.NETFramework.v20.de/dv_vcmcpp/html/971463b4-7178-42cc-87b4-566295b7ae50.htm
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 29.08.2007, 19:05    Titel: Antworten mit Zitat

Otscho hat Folgendes geschrieben:
Ich musste da erst einmal die corewin_express.vsprops ändern damit man SDKs benutzen konnte. Steht aber alles in der Hilfe : ms-help://MS.VSExpressCC.v80/MS.NETFramework.v20.de/dv_vcmcpp/html/971463b4-7178-42cc-87b4-566295b7ae50.htm

jo klar, da änderst du ja auch die default-linked libs. Müsstest du eigtl bei der Installation gemacht haben, wenn nicht, hast du dann denn auch die anderen einstellungen geändert?

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Robrunner
Mini JLI'ler


Alter: 32
Anmeldedatum: 08.07.2007
Beiträge: 44
Wohnort: Passau
Medaillen: Keine

BeitragVerfasst am: 30.08.2007, 12:05    Titel: Antworten mit Zitat

Das hat mich schon mal weitergebracht! Danke! Very Happy

Jetzt habe ich folgendes Problem:

Fehlermeldungen:
Zitat:
c:\dokumente und einstellungen\robert\eigene dateien\visual studio 2005\projects\testenn\testenn\main.cpp(16) : error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char [10]' 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.


zu dem Code:
Code:
// Dieses Programm zeigt eine MessageBox an


// Headerdatei
#include <windows.h>


// Windows main-Funktion
int WINAPI WinMain(HINSTANCE hInstance,      // Handle der Programminstanz
                   HINSTANCE hPrevInstance,  // Handle der letzten Instanz
                   LPSTR lpCmdLine,          // Kommandozeile
                   int nCmdShow)             // Art wie das Fenster angezeigt werden soll
{

    // eine MessageBox mit OK-Knopf anzeigen
    MessageBox(0, "Nachricht", "Titel", MB_OK);

    return 0;
}


Wenn ich den reinterpret_cast verwende lässt sich die Anwendung starten, aber "Nachricht" und "Titel" werden in Kästchenschrift angezeigt. Crying or Very sad
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 30.08.2007, 12:38    Titel: Antworten mit Zitat

Dein Projekt benutzt Unicode. Entweder gibts du alle Strings als L"ich bin ein Text" an oder du schaltest Unicode in den Projektoptionen aus.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Robrunner
Mini JLI'ler


Alter: 32
Anmeldedatum: 08.07.2007
Beiträge: 44
Wohnort: Passau
Medaillen: Keine

BeitragVerfasst am: 30.08.2007, 12:44    Titel: Antworten mit Zitat

Danke jetzt gehts!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Robrunner
Mini JLI'ler


Alter: 32
Anmeldedatum: 08.07.2007
Beiträge: 44
Wohnort: Passau
Medaillen: Keine

BeitragVerfasst am: 30.08.2007, 13:27    Titel: Antworten mit Zitat

Noch eine Frage:
Wie kann ich einzelne libs in mein Projekt einbinden?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 30.08.2007, 13:54    Titel: Antworten mit Zitat

In den Projektoptionen bei Linker eintragen. Zusätzlich natürlich immer noch die entsprechenden Header includieren.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Robrunner
Mini JLI'ler


Alter: 32
Anmeldedatum: 08.07.2007
Beiträge: 44
Wohnort: Passau
Medaillen: Keine

BeitragVerfasst am: 30.08.2007, 14:15    Titel: Antworten mit Zitat

OK
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum