VC2005/2008/2010/2012 Express (kostenlos)



  • Bekomme bei angehängtem Beispielcode folgende Fehlermeldung. Habe
    1. die Plattform SDK installiert und

    2. unter Linker->Zusätzliche Bibliotheksverzeichnisse "C:\Programme\Microsoft Platform SDK\Lib" und unter C++/allgemein->Zusätzliche Includeverzeichnisse "C:\Programme\Microsoft Platform SDK\Include" hinzugefügt.

    Weitere Einstellungen bei meiner VC 2005 Express Edition:
    3. C++->Codegenerierung Laufzeitbibliothek auf /MT

    4. Allgemein->Keine Common Langauge Runtime Unterstützung

    5. C++->Keine Vorkompilierte Header

    Was bleibt noch zu prüfen - was ist der Grund für den Fehler?

    Ich errinere mich, dass man die Include auch im Code angeben kann. Empfiehlt sich das?

    Danke im voraus.

    1>------ Erstellen gestartet: Projekt: Foxy, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>main.cpp
    1>Verknüpfen...
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__EndDialog@8" in Funktion ""int __stdcall DialogProc(struct HWND__ *,unsigned int,unsigned int,long)" (?DialogProc@@YGHPAUHWND__@@IIJ@Z)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DialogBoxParamA@20" in Funktion "_WinMain@16".
    1>C:\Foxy\Debug\Foxy.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
    1>Das Buildprotokoll wurde unter "file://c:\Foxy\Foxy\Debug\BuildLog.htm" gespeichert.
    1>Foxy - 3 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #include "resource.h"
    #include <stdio.h>
    
    BOOL CALLBACK DialogProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {    
         switch (message)
         {
         case WM_INITDIALOG:
               return TRUE;
    
         case WM_CLOSE:
                EndDialog (hwnd,0);
                return TRUE;  
         }
         return FALSE;
    }
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
      return DialogBox (hInstance, "Dialog", NULL, DialogProc);
    }
    


  • Du hast die Anleitung nicht befolgt oder Dein Projekt angelegt, bevor Du die Anleitung befolgt hast...



  • Jochen, wie soll das mit dem kostenlosen Visual Studio 2008 für Studenten funktionieren?

    Ich habe mir gerade bei Hotmail eine E-mail registriert und brav alle meine Realdaten übermittelt und nun, wo ich meine Universität auswählen soll, erscheinen für Deutschland nur eine Hand voll Universitäten (Meine ist natürlich NICHT dabei). Was soll das bedeuten? Gilt dieses Angebot nur für einige, ausgewählte Universitäten? Wenn Ja, hätte man auf der Seite darauf mal gleich hingewiesen werden sollen... 👎



  • We verify you as a student by having your school authenticate your student ID credentials. If not your school, then it’s whatever student ID provider you choose.
    In order to do that, we have to start with where you are.

    Was sind meine student ID credentials? Jede Uni hat doch ihre eigenen Immatrikulationsnummern und Systeme. Den letzten Satz verstehe ich nicht ganz, was ist ein student ID provider?!



  • http://c-plusplus.net/forum/viewtopic-var-t-is-206379-and-start-is-0.html

    Man muss dafür nicht an einer der Unis studieren! sondern sich nur dort *verifizieren* dass man studiert!



  • Und dafür muss man *nur* einmal quer durch Deutschland zu einer der aufgeführten Unis fahren, um seinen Studentenausweis vorzuzeigen? Na tolles Brot. Dann können Sie ihren Krempel behalten, das hätten sie mir mal vorher sagen sollen, bevor sie meine Daten abgegriffen haben 👎



  • Für Schüler und Studenten gibt es auch Visual Studio 2008 Professional (und andere Produkte) kostenlos von Microsoft:
    Für mehr Infos, siehe:
    https://downloads.channel8.msdn.com/

    Wohl eher nur für Studenten ...

    Ich kann in Deutschland aus einer Reihe von Universitäten auswählen, aber ich geh ja mit meinen 16 Jahren noch zur Schule, aufs Gymnasium.

    Hab ich da was übersehen oder sind die Produkte dort wirklich nur für Studenten?

    lg Max



  • Du musst (genau wie ich als Student einer Hochschule, die nicht aufgelistet ist) mit einer der aufgelisteten Hochschulen Kontakt aufnehmen und das abklären. Oder anders ausgedrückt, die ganze Sache ist den Aufwand nicht wert und das ganze Angebot ist völliger Quatsch, wie man es sich bei M$ auch hätte denken können.



  • So ein Shyze, ich dacht die würden von Apple mal dazugelernt haben ...

    Naja, mal schaun, vlt werd ich ja in absehbarer Zeit auf einer der Unis studieren ...

    Danke, Max

    PS: Wieso registrierst Du Dich nicht endlich?^^



  • Hallo,

    ich habe die Anleitung genau befolgt und mir das aktuellste PSDK heruntergeladen, eine 2005er Express Edition (+DirectX SDK) hatte ich schon heruntergeladen.Dann habe ich die vorgegebene Anwendung versucht zu kompilieren. In der SDK war in den Includeverzeichnissen keine Windows.h enthalten, was mir der Compiler auch gesagt hat und ich auch in den entsprechenden Verzeichnissen bereits nachgeprüft habe. Daraufhin habe ich aus einer Dev-C++-Installation die Includedateien hinzukopiert. Danach wurden aber mehrere Includedateien nicht gefunden, bis ich alle noch nicht vorhandenen Includes reinkopiert hatte. Jetzt erzählt er mir von einer Menge Fehlern (siehe Anhang), bei denen ich mich allerdings nicht traue, die entsprechenden Zeilen auszukommentieren. Könnte mir irgendjemand helfen, oder mir erzählen, wie man den Murks, den ich da veranstaltet habe, wieder in Ordnung bringt, mit einer funktionierenenden PSDK?

    Vielen Dank schon mal im Voraus
    Gruß
    LauritzG

    Anhang:

    ------ Erstellen gestartet: Projekt: Windows, Konfiguration: Debug Win32 ------
    Kompilieren...
    stdafx.cpp
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winnt.h(2648) : warning C4068: Unbekanntes Pragma
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winnt.h(2654) : warning C4068: Unbekanntes Pragma
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(405) : warning C4005: 'EXCEPTION_CONTINUE_EXECUTION': Makro-Neudefinition
    c:\programme\microsoft sdks\windows\v6.0\vc\include\excpt.h(123): Siehe vorherige Definition von 'EXCEPTION_CONTINUE_EXECUTION'
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(939) : warning C4005: 'AbnormalTermination': Makro-Neudefinition
    c:\programme\microsoft sdks\windows\v6.0\vc\include\excpt.h(107): Siehe vorherige Definition von 'AbnormalTermination'
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1063) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1063) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1064) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1064) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1064) : error C2086: 'int DECLSPEC_NORETURN': Neudefinition
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1063): Siehe Deklaration von 'DECLSPEC_NORETURN'
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1099) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1099) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1099) : error C2086: 'int DECLSPEC_NORETURN': Neudefinition
    c:\programme\microsoft sdks\windows\v6.0\vc\include\winbase.h(1063): Siehe Deklaration von 'DECLSPEC_NORETURN'
    Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Programmierer\Desktop\four.handed\Windows\Windows\Debug\BuildLog.htm" gespeichert.
    Windows - 8 Fehler, 4 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



  • Siehe andere Beiträge zum Einbinden des PSDK *und* des DirectX-SDKs!!!! Hier muss die Include-Reihenfolge beachtet werden!



  • Ich benutze VC++ 2008 Express Edition für Vista Ultimate 64Bit.

    Wenn ich ein Beispielprojekt für ein DirectX-Programm kompiliere, welches ich erfolgreich bei der 2005 Version kompilieren konnte vor ein paar Jahren, scheitert es jetzt an der Fehlermeldung

    1>.\Demo.rc(11) : fatal error RC1015: cannot open include file 'afxres.h'.
    

    Ich habe diese Datei gar nicht auf meinem Computer drauf, obwohl ich die neuste PSDK und DirectX SDK installiert habe.

    Habe ich was vergessen oder ist das Projekt einfach nur veraltet?



  • afxres.h ist die Haeder-Datei für MFC-Anwendungen. Wie man die einbindet, steht ganz am Anfang des Threads.



  • Das finde ich etwas verwirrend.

    Mit der 2005 Version hieß es auch, man könne kein MFC verwenden mit der Freeware und trotzdem hatte es geklappt.
    Warum geht das mit der 2008 auf einmal nicht mehr?



  • Du Express-Edition hat keine MFC. Dazu brauchst Du min. die Standard-Edition!



  • absolut genial!
    Vielen Dank für diese extrem nützlichen Links 🙂

    mfg,
    Aufbau



  • Hallo,

    Ich hab mir grad einen alten Rechner gesucht, der Windows fährt, muss ein Programm compilieren, dass Winapi benützt:
    http://www.microsoft.com/express/

    1) Was muss ich da runterladen?
    Die Express 2008&SP1 MS Version sagt nur: "Der Prozedureinsprungspunkt <rand()> konnte nix gefunden werden" (Meistens HeapSetInformation in Krnl32dll)

    2) Die student-version-Seite sagt mir nur: Zertifikat ungültig"

    3) Muss ich 400MB an Winapi runterladen?
    Ist ziemlich viel, oder? Da kommt auch noch Dx dabei => Platte voll?

    System ist ein NT5.kA, Festplatte hat ein paar GB, aber nur wenige...
    edith: System ist nicht im Netz, kein DVD-Laufzwerg, kein USB...

    Danke!

    edit: Nachdem ich jetzt tonnenweise Updates über einen andern Rechner mit Wine und diversen zweifelhaften Offline-MS-Patch-tools auf Cds gebrannt und installiert habe (natürlcih erst im zweiten Anlauf die Version mit der richtigen Sprache, denn der dt. Link linkt auf die eng. exe, sagt er jetzt:

    ---------------------------
    Setup
    ---------------------------
    Das Produkt kann nicht unter Microsoft Windows Me, Windows NT 4.0, Windows 2000 oder früheren Versionen installiert werden. Sie müssen das Betriebssystem auf Windows XP oder höher aktualisieren, bevor Sie dieses Produkt installieren.
    ---------------------------
    OK
    ---------------------------

    Toll! Danke MS! Warum muss das so schwer sein? Ich hab nur noch irgendwo Vista, und dem reichen die 128MB RAM i.wie nett, oder? 🙄
    Ich mag die NT-Serie nicht...



  • Hallo,
    ich habe mir die "PSDK-amd64" incl. Dokumentation heruntergeladen.
    Nun enthält aber das Verzeichnis "help" haufenweise *.hxi, *.hxs usw.-Dateien.
    Allerdings kann kein einziges Programm mit diesen Dateien etwas anfangen.
    Was brauche ich jetzt noch, um sie überhaupt lesen zu können?



  • Hast Du das PSDK schon installiert? Dann wird auch der "Document-Explorer" installiert...



  • Leider ist der "Document-Explorer" (dexplorer.exe) ein Bestandteil vom Visual Studio und in der "PSDK-amd64" nicht enthalten.

    Aber über dieses Stichwort bin ich eben grade auf folgendes (Freeware-)Programm gestoßen:

    http://www.helpware.net/mshelp2/h2viewer.htm

    Damit läßt sich die Dokumentation auch lesen. *freu* 👍


Anmelden zum Antworten