1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Visual Studio 2005

Discussion in 'Programmieren' started by Dayi, Mar 1, 2006.

Thread Status:
Not open for further replies.
  1. Dayi

    Dayi Byte

    Hallo an alle Profis!

    Ich habe mir die Studentenversion von Visual Studio 2005 gekauft. Bin im ersten Semester WI und versuche mich an meinen ersten C++ Programmen.
    Natürlich habe ich mit einem "Hallo Welt!" Programm angefangen. Geschrieben, kompiliert, erstellt. .EXE steht. Habe die EXE ausprobiert, funktioniert auch außerhalb von VS 2005 problemlos. Habs einem Kumpel geschickt und siehe da. Es funktioniert nicht bei ihm. Der Fehler: Er hat kein .net 2.0 drauf gehabt! Alle Programme, die ich mit VS 2005 mit C++ (als Win32 Konsolenanwendung) geschrieben habe, benötigen .net 2.0. Da ich das nicht möchte hier meine Frage an alle Experten:

    Wie kann ich der IDE sagen, sie soll NICHT .net benutzen sondern unabhängig davon eine EXE erzeugen?

    Vielen Dank im Voraus!

    Dayi
     
  2. JojoKoester

    JojoKoester Halbes Megabyte

    die frage ist nur, ob der das überhaupt "kann"
     
  3. Dayi

    Dayi Byte

    Genau DAS ist die Frage... wer kann sie beantworten?

    btw: kann mit VS 2005 auch DX Anwendungen schreiben, ohne Einschränkungen zu haben?
     
  4. Hi!

    Ist zwar keine Antwort auf deine Frage, aber versuchs doch mal mit Dev-C++. Richtig gute Entwicklungsumgebung und die gibts auch noch umsonst. Die MS-C++ Sachen hatten bei mir auch des öfteren ihre Macken, aber Dev-C++ läuft bis jetz einwandfrei.

    mfg
    LDE
     
  5. JojoKoester

    JojoKoester Halbes Megabyte

    Ja, der DevC++ ist wirklich gut. Du kannst Ihn dir hier downloaden: LINK

    johannes
     
  6. Dayi

    Dayi Byte

    Sorry, dev c++ ist KEINE Alternative zu VS 2005. Ich benutze die Bibliotheken, die nunmal zu Microsoft gehören. Mit Dev kann ich eben kein MFC u.Ä. machen. Sorry.

    Also gibt es keinen hier im Forum, der eine Antwort darauf weiß? Ich weiß mitlerweile schon, dass es wohl geht, man es dem Kombiler nur stecken. Wie mache ich das also?
     
  7. Dayi

    Dayi Byte

    Danke an alle! Das Problem ist gelöst.

    Also es hat nix mit .net zu tun. Vielmehr an den Bibliotheken, die vom c++ benutzt werden. Diese werden, selbst bei einem Miniprogramm wie "Hallo Welt", benötigt und DYNAMISCH verlinkt.
    Wenn man also ein Programm weiter gibt an jemanden, der die Bibliotheken nicht benutzt, der schaut in die Röhre. Das Problem lässt sich lösen, wenn man die benötigten Bibliotheken statisch verlinkt.

    Genug Theorie (ich selber kapier auch nicht wieso und warum). Hier die Einstellungen, um das Problem zu behebn und Programme bei anderen Menschen zum Laufen zu bringen.

    Projekt --> <PROJEKTNAME>-Eigenschaften --> Konfigurationeigenschaften --> Allgemein --> Verwendung von MFC
    und hier bitte auf "MFC in einer statischen Bibliothek verwenden" auswählten. Erstellen--- fertig :-)
     
  8. enschman

    enschman Megabyte

    Hi,

    jetzt noch mal zu der Frage, ob VS 2005 normale Exe-Dateien ohne .net erstellen kann: NEIN!

    VS 2005 wurde für die neue .net-Version 2 programmiert und kann nicht mal abwärtskompatibel .net 1.1-Programme wie VS 2003 erstellen!

    Für Exe-Dateien ohne .net eigen sich Compiler wie die von Dev-C++ oder Borland C++!

    Wenn Ihr mit .net programmieren wollt, würde ich euch allerdings die systemnähere Programmiersprache C# empfehlen, lerne ich jetz auch so langsam aber sicher!

    mfg Tenschman

    ----------------------------------------------------
    meine HP: ******************
     
  9. Rattiberta

    Rattiberta Halbes Gigabyte

  10. AS_X

    AS_X Halbes Megabyte

    Normalerweise müsste das doch gehen. Einfach KEINE Windows-Forms-Anwendung (Windows.Forms ist eine .NET Komponente), sonder eine Win32-Anwendung erstellen. Dann hat man natürlich aber nicht die tolle Klassenbibliothek von .NET. Alles geht über CreateWindow und die Message-Loop, iii. Muss nicht mehr sein, wenn nicht unbedingt nötig.

    Für .NET gibt es überdies Tools, die die vom Programm benötigten Komponenten des .NET-Frameworks in deine EXE hineinlinken, damit diese ohne das Framework ausführbar sind. Die Tools kosten aber viel, leider.

    Überdies kann man unter .NET mit Managed DirectX DirectX-Anwendungen programmieren, einer objektorientierten Schnittstelle zu DirectX. Die Doku dazu gibts im DirectX-SDK, willst du ohne .NET DirectX-Anwendungen entwickeln, dann musst du wie oben angegeben ein Win32-Projekt erstellen. Viel Handarbeit, wie gesagt.

    Soweit,
    Andy.
     
  11. kasimir27

    kasimir27 Guest

    installiere das Platform-SDK , und setze die entsprechenden Pfade

    • * Executable files
    • * Include files
    • * Library files

    editiere die "corewin_express.vsprops" zu finden im Verzeichnis "C:\Programme\Microsoft Visual Studio 8\VC\VCProjectDefaults"

    ersetze

    Code:
    AdditionalDependencies="kernel32.lib"
    
    mit
    Code:
    AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
    navigiere zum Verzeichnis &#8220;%ProgramFiles%\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\"

    ändere den Inhalt von "AppSettings.htm" folgend ab
    Code:
    // WIN_APP.disabled = true;
    // WIN_APP_LABEL.disabled = true;
    // DLL_APP.disabled = true;
    // DLL_APP_LABEL.disabled = true;
    erstelle ein neues Project , wähle Win32 > Konsolenanwendung , im Assistenten wähle WindowsForms-Anwendung.

    voila
     
Thread Status:
Not open for further replies.

Share This Page