Visual Studio problem betreffs starten nach compilieren



  • Ich hab ein projekt erstellt...funktioniert auch soweit...
    Ich hab jedoch folgendes Problem.
    Wenn ich den Code erweitere und dann kompiliere gibts immer eine fehlermeldung...(unberechtigter Speicherzugriff o.ä.).
    Also wenn dannach gestartet wird.
    Wenn ich jedoch die .exe direkt aus dem debug bzw. release ordner starte funktioniert der abgeänderte code.
    Hab gelesen daß man da bei den Projekteinstellung irgendwas ändern kann, nur weiß ich nicht was...

    Und ich nutze die 2010ér sowie die 2008ér Version von VSC++



  • Im Debug-Modus können besser Fehler entdeckt werden.



  • ja schon, aber das ist ja kein Fehler.
    Es ist nur ein weiterer Befehl welcher auch funktioniert....
    Es kommt nur eben dieses unschöne fenster und die anwendung friert ein....
    Das ist soweit nervig, da es keine Fehler gibt nur eben einen weiteren Befehl.
    Es scheint also nicht auf die wirklichen .exe zu verlinken, sehe ich das richtig?

    Man kann da wohl etwas an den Pfaden ändern, was genau weiß ich aber nicht...

    Das war der Tip den ich bekommen hatte:

    "Its just a different working directories then you run application from IDE and then you run it from exe. You may change working directory in the projects settings."

    Aber ich kann nix finden bzw. schon, da wo man die Ausgabepfade und zwischenpfade einstellen kann.
    Aber ich kenn mich da bis dato noch nicht wirklich aus, vielleicht kann mir da ja jemand hier nen Rat geben.



  • itmagic schrieb:

    ja schon, aber das ist ja kein Fehler.
    Es ist nur ein weiterer Befehl welcher auch funktioniert....
    Es kommt nur eben dieses unschöne fenster und die anwendung friert ein....

    Ich wette in deinem Code ist ein ganz schlimmer Anfängerfehler 😃



  • nee eben nicht....
    die .exe läßt sich problemlos starten...
    nur wenn ich was am quellcode ändere....

    sicher nicht der beste code...

    #include "stdafx.h"
        #include "work1.h"
        #include <xors3d.h>
        #include <iostream>
    
        int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
        {
           xGraphics3D(800, 600, 32, false, true);
           int camera = xCreateCamera();
           xPositionEntity(camera, 0, 0, -10);
           int terrain = xLoadMesh("media/terrain.3ds");
           int texture = xLoadTexture("media/terrain1.jpg");
           xEntityTexture( terrain, texture);
           xPositionEntity(terrain, 0, 50, 50);
           while(!xKeyDown(KEY_ESCAPE))
           {
    
              xRenderWorld();
              char fpsBuffer[129];
              sprintf(fpsBuffer, "FPS: %i", xGetFPS());
              xText(10, 10, fpsBuffer);
              xFlip();
           }
           return 0;
        }
    

    und wie gesagt, die damit erstellte anwendung geht...und beim debugging geht normalerweise kein fenster auf und die anwendung friert ein...oder doch....?



  • xors3d.h 😮



  • fehler warn anderes...
    ich darf nich nur dll´s etc. in den realease und debug ordner werfen wo dann die exe is sondern ins hauptverzeichnis des projektes zusätzlich...lol

    aber irgendwie kann man da wohl auch was bei den einstellungen eben einstellen, nur weiß ich eben nicht was...aber so gehts ja auch erstmal



  • itmagic schrieb:

    ...(unberechtigter Speicherzugriff o.ä.)...

    Die genaue Fehlermeldung wäre halt hilfreich.

    Unter "Projekt/Eigenschaften/Konfigurationseigenschaften/Debugging" könntest du das Arbeitsverzeichnis einstellen.

    Was ich mir in deinem Fall noch vorstellen könnte ist, dass die entsprechenden dll-Dateien nicht gefunden werden.

    http://msdn.microsoft.com/de-de/library/7d83bc18(VS.80).aspx



  • War wieder zu spät. 🙂 Hast es ja bereits herausgefunden.



  • Wie geht das mit dem einstellen?
    hab mich heut das erste mal so richtig mit dieser ide beschäftigt und naja hab noch so bisschen anlaufschwierigkeiten.
    also was müsste ich da genau eintragen?

    das verzeichnis is ja schon das richtige nur halt ohne dll´s und nem resourcenordner.
    muss das dann auf den bsp. release ordner gelegt werden wo die .exe dann drin ist?
    und was geb ich da an?
    also kann ja nen pfad direkt angeben sicherlich, oder geht das auch als relativer pfad...hab da irgendwo sowas mit "$(Configuration)\" gesehen gehabt....

    edit:habs schon gefunden...
    aber die fehlermeldung ließ ja zuerst nich vermuten daß dort die dll´s und resourcen fehlen und deshalb die meldung kam...nuja nu weiß ichs...



  • Also, ich würde das Arbeistverzeichnis jetzt nicht nach den Dlls ausrichten. Sorg einfach dafür, dass die Dll-Dateien gefunden werden, sich also irgendwo im Dll-Suchpfad befinden.


Log in to reply