Win32 Anwendung und 64 bit OS



  • Hallo Forum 😛
    habe eine kleine (hoffentlich nicht ZU dumme) verständnisfrage:
    im Visualstudio08 gibts die möglichkeit win32 anwendungen zu erstellen (konsolenanwendung und projekt). laufn diese anwendungen unter nem 64 bittigen Windows? ein klitzekleines testproggi, welches auf 32 bit xp läuft, verursacht auf windows7 64 bit lediglich einen "side-by-side konfiguration" fehler 😛

    der code war ganz einfach

    #include <iostream>
    
    int main()
    {
     std::cout << "Hallo" << std::endl;
     std::cin.get();
     return 0;
    }
    

    freue mich über aufklärung 😃



  • Solange du keine Treiber programmierst, laufen eigentlich alle 32-Bit Anwendungen auch unter 64-Bit. Umgekehrt gilt das natürlich nicht. Ich programmiere inzwischen (auch auf der Arbeit) wenn möglich nur noch 64-Bit Applikationen und Tools.

    MfG



  • ich hab des gleiche problem und verwende auch keine Treiber...fände es auch cool wenn jemand nee lösung wüsste.

    Ich hatte mal wo nee Anleitung (für VSC++) gefunden wie ich mit 64 bit für 32 bit programmieren kann und die programme liefen auch auf dem 64bit system. kann es sein das des geht wenn ich diese einstellungen verwende??? wenn ja würd ichs wieder suchen und ausprobieren.

    mfg Dimo



  • /rant/ schrieb:

    Solange du keine Treiber programmierst, laufen eigentlich alle 32-Bit Anwendungen auch unter 64-Bit.

    danke, das ist ein wort 😛 daraus schließe ich, dass diese win32 anwendungen eigentlich auch unter 64bit betriebssystem laufn sollten.

    dann bleiben eigentlich nur 2 fragen:
    1. wie löst man die sache mit dem side-by-side error? eine testweise installaation des Microsoft Visual C++ 2008 Redistributable Package (x86) (von google vorgeschlagen) blieb vergebens.

    2. im zusammenhang mit dem Redistributable Package: "Mit Microsoft Visual C++ 2008 Redistributable Package (x86) werden Laufzeitkomponenten von Visual C++-Bibliotheken installiert, die erforderlich sind, um Anwendungen, die in Visual C++ entwickelt wurden, auf einem Computer auszuführen, auf dem Visual C++ 2008 nicht installiert ist." -> ist das nicht ... "dumm"? soll das heißen, alle programme die man mit vs08 schreibt, können nur auf rechnern ausgeführt werden, auf denen das visual studio installiert ist? 😕

    entschuldigt meine unkenntnis und verwirrtheit 😛 es wäre nett wenn mir jemand auf die sprünge helfen könnte 🙂



  • saubermann schrieb:

    1. wie löst man die sache mit dem side-by-side error? eine testweise installaation des Microsoft Visual C++ 2008 Redistributable Package (x86) (von google vorgeschlagen) blieb vergebens.

    Hast du auch das richtige installiert? Es gibt ein Redistributable Package für VS2008 und für VS2008 SP1. Zur Not kannst du auf dem Zielrechner mit dem Dependency Walker sehen, welche Abhängigkeiten eventuell nicht erfüllt wurden.

    saubermann schrieb:

    alle programme die man mit vs08 schreibt, können nur auf rechnern ausgeführt werden, auf denen das visual studio installiert ist? 😕

    Nein, sondern auf Rechnern, auf denen die richtige Runtime installiert ist. Du hat doch sicher auch schon bei professionellen Programmen wie Spielen gesehen, dass die z.B. die VC++ 2005 Runtime installiert haben. Die machen's also auch nicht anders. Alternativ könntest du statisch linken (ist für dich sicher die bessere Variante). Siehe dazu: http://blog.kalmbach-software.de/de/2008/03/05/wie-man-statisch-gegen-die-c-runtime-crt-linkt/



  • danke für die klarstellung _matze! 🙂 hat uns sehr geholfen 👍



  • auch von mir noch nenn danke...funktioniert jetzt wunderbar



  • Der Fehler mit der Side by Side Configuration kann auch daher kommen, wenn du in VC++ vergisst von Debug auf Release umzustellen, da die für den Debug wichtigen Daten in eine Extra Datei gepackt wurden und diese dann nicht gefunden werden können.(Glaube ich)

    MfG cobra11freak



  • cobra11freak schrieb:

    Der Fehler mit der Side by Side Configuration kann auch daher kommen, wenn du in VC++ vergisst von Debug auf Release umzustellen, da die für den Debug wichtigen Daten in eine Extra Datei gepackt wurden und diese dann nicht gefunden werden können.(Glaube ich)

    MfG cobra11freak

    Ja, es gibt Release-DLLs und Debug-DLLs. Je nach Build brauchst du die einen oder die anderen. Debug-DLLs erkennt man üblicherweise am "d" am Ende des Dateinamens (vor der Endung, z.B. MFC90d.dll).


Anmelden zum Antworten