Studio 2005 OHNE .net
-
Hallo,
vieleicht könnt ihr mir helfen und mir sagen, wie ich ich mit C++ 2005, native C++ Code schreiben kann, also Code, der auf das .net Framework verzichtet.Ich möchte nämlich DirectX lernen, mich allerdings nicht mit der Managed Version anfreunden ^^
und ich kann mir nicht vorstellen, dass "richtiges" DirectX nur in VC++ 6 programmiert werden kann, folglich muss es auch einen Möglichkeit in VC++ 2005 geben.Ich hoffe ihr könnt mir helfen.
Danke Öbbi
-
Wähl Win32 (Konsolen)projekt aus und das wars schon
-
oO so einfach?
Danke schön ^^EDIT: Also, die einfachsten Anwendungen ala Hello World klappen so ja schonmal (man muss dann allerdings noch using namespace std einfügen ....
aber, ein anderes Programm, welches ich aus einem DirectX Tutorial habe, lässt sich nicht so einfach kompilieren.#define WIN32_LEAN_AND_MEAN #include <windows.h> #include <windowsx.h> int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow) { MessageBox(NULL, "Hello World!", "Hello Title", MB_OK | MB_ICONEXCLAMATION); return(0); }
Es kommt folgende Fehlermeldung:
"error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char [13]' in 'LPCWSTR' nicht möglich"Was ist an dem Programm falsch? Bzw was muss ich ändern/hinzufügen?
Sry, dass ich solche Noob Fragen stelle, aber auf dem Bereich der Windows Programmierung kenne ich mich kaum aus.
Öbbi
-
Hat nichts mit Windows zu tun. Lern richtig C++.
MessageBox(NULL, L"Hello World!", L"Hello Title", MB_OK | MB_ICONEXCLAMATION);
-
Artchi schrieb:
Hat nichts mit Windows zu tun.[/cpp]
Doch klar
-
Öbbi schrieb:
Es kommt folgende Fehlermeldung:
"error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char [13]' in 'LPCWSTR' nicht möglich"Was ist an dem Programm falsch? Bzw was muss ich ändern/hinzufügen?
Sry, dass ich solche Noob Fragen stelle, aber auf dem Bereich der Windows Programmierung kenne ich mich kaum aus.
Öbbi
Schau mal in die Projekteinstellungen, dort wird "Unicode" definiert sein. Setze die Einstellung auf "Not set".
-
LOL! Und dann hat er nur noch ASCII! Klar, downgrade ist die Lösung. Oh man...
-
Wenn ich Sris Vorschlag befolge, kommen 2 weitere Fehlermeldungen:
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup".
fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
Wie kann ich diese umgehen?
-
In dem man Sris Vorschlag nicht befolgt!
-
In dem man nicht Konsolen-Anwendung auswählt sondern das daneben!
-
Artchi schrieb:
LOL! Und dann hat er nur noch ASCII! Klar, downgrade ist die Lösung. Oh man...
ANSI, nicht ASCII.
Vermutlich sind alle Beispiele in seinem DirectX-Tutorial auf Ansi ausgelegt und nicht auf Unicode. Ihm geht es wohl erst einmal darum, dass er die Samples kompiliert bekommt, anstatt noch zwanzig weitere Baustellen aufzumachen.
-
Äh, benutzt du Visual-C++ Express 2005? Dann wird's ohne das Platform SDK nix...
(Ich wage das zu behaupten, weil Konsolenprojekte ja offensichtlich funktionieren).
Die Anweisungen, wie man das bekommt und installiert springen einen auf der Willkommenseite regelrecht ins Auge...
Zum Thema Unicode: Ich weiß nicht, welchen Schalter man dort auf "not set" setzen kann, der richtige befindet sich auf jeden Fall unter Projektoptionen->Konfigurationsblahblah->allgemein->Zeichensatz (auf Multibyte setzen).Grüße
Martin
-
Der Compiler läuft ja ordnungsgemäß durch, nur der Linker stört sich am WinMain. Das liegt daran, dass Öbbi ein Konsolenprojekt erstellt hat und kein Win32-Projekt. Lässt sich also leicht fixen.
Der Schalter heißt "Character Set", also im deutschen dann "Zeichensatz". Da Multibyte eh nur in der MFC verwendet wird, ist es letztlich egal, ob "Multibyte" oder "Not set".
-
Aber genau den habe ich auf Not Set gestellt und dann sind die beiden weiteren Fehler aufgetreten.
@JimmydaMage:
Nein ich benutze nicht die Express Edition. Am Platform SDK liegt es also nicht.
-
lies nochmal den thread durch, du hast eine antwort übersehen
-
Verrät mir jemand, welchen Post ich übersehen habe? xD
-
von ioijpjip
-
Aha, ein Win32 Projekt xD Und das ist nativer C++ Code so wie ich ihn auch mit Bloddshed Dev C++ schreiben köönnte?
Ich den Post btw nicht übersehen, nur falsch interpretiert ^^
ich habe nicht die Win32 Anwendung ausgewählt, sonder die CLR-Konsolenanwendung (steht im Tab, in dem alle mögliche Projekte stehen direkt neben der Win32-Konsolenanwendung ;D), also nur ein Missverständnis xDAber Danke jetzt klappt es.
Öbbi
-
Öbbi schrieb:
Aha, ein Win32 Projekt xD Und das ist nativer C++ Code so wie ich ihn auch mit Bloddshed Dev C++ schreiben köönnte?
Nativer geht es nicht.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.