Sicherheitscenter vs. meine .exe



  • Vorausgesetzt du kompilierst auch mit deiner IDE (was ich kräftig unterlasse). Wenn du nähmlich deinen Compiler über die Konsole bedienst, gibt es diese Möglichkeit (bei den mir bekannten Compilern) nicht.

    Mfg Ominion



  • Okay, jetzt hab ich den Releaseknopp gefunden, was issn da der Unterschied?

    Also ich habe MS Visual C++ 6 und jetzt bei der Releaseverion bekomme ich 2 ganz komische Fehler, die mir nun garnichts sagen:

    --------------------Konfiguration: KniffelWinAPI - Win32 Release--------------------
    Ressourcen werden kompiliert...
    Kompilierung läuft...
    main.cpp
    Linker-Vorgang läuft...
    main.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__InitCommonControlsEx@4
    Release/KniffelWinAPI.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    KniffelWinAPI.exe - 2 Fehler, 0 Warnung(en)

    Aber dass man in Wordpad die Funktionen sieht, die ich aufrufe is ja auch lustig ...

    Danke ihr beiden, seid mir eine riesen Hilfe!



  • Ominion schrieb:

    Vorausgesetzt du kompilierst auch mit deiner IDE (was ich kräftig unterlasse).

    in der exe steht am ende
    C:\Dokumente und Einstellungen\Udo\Eigene Dateien\Programmieren\C++\Meins!\KniffelWinAPI\Debug\KniffelWinAPI.pdb
    ich denke, wir können irgend eine version des ms developer studios unterstellen.
    und er hat den modus noch auf Debug stehen.
    und er heißt Udo.



  • Jo, ich hatte noch auf Debug stehen, aber Udo heiß ich nicht *lach*, so ist nur mein Accountname *g*

    Aber, ähm, wenn ich versuche meine .exe mit Wordpad anzugucken, dann sehe ich nur Kryptische Zeichen, gibts da nen "Cheatermodus", den du eingestellt hast?



  • Top_se schrieb:

    Okay, jetzt hab ich den Releaseknopp gefunden, was issn da der Unterschied?

    in der debug-version werden noch allerhand tests gemacht, damit die fehler viel schneller findest. zum beispiel der beliebte

    int summe;
    for(int i=0;i<anz;++i)
       summe+=array[i];
    

    mist, summe vergessen zu initialisieren. ist aber fast egal, meistens steht an der speicherstelle eh von alleine zufällig 0. aber halt nicht immer. fehler ist schwer zu finden und tauscht nicht immer auf. schlimmstenfalls erst beim kunden.
    im debugmodus macht der compiler automatisch

    int summe=-850000000;//ungefähr minus 850 millionen. genau kann man das nur hexadezimal kapieren
    for(int i=0;i<anz;++i)
       summe+=array[i];
    

    und du siehst dann am falschen ergebnis wenigstens gleich, daß da irgendwas nicht stimmt. dafür ist der debug-code nur halb so schnell. und der debug-code hat manchmal informationen wie den vornamen des programmierers drin.

    main.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__InitCommonControlsEx@4
    Release/KniffelWinAPI.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    kann ich nicht nachvollziehen. was als Debug geht, müßte als Release auch gehen.
    haste irgendwann bei den linkereinstellungen was hinzugefügt? ne lib hinzugefügt, die er linken soll? (vielleicht was mit progress bars) dann haste die evtl nur in der Debug-einstellung hinzugrfügt und müßtest das für die Release-einstellung auch noch machen.



  • Top_se schrieb:

    Jo, ich hatte noch auf Debug stehen, aber Udo heiß ich nicht *lach*, so ist nur mein Accountname *g*
    Aber, ähm, wenn ich versuche meine .exe mit Wordpad anzugucken, dann sehe ich nur Kryptische Zeichen, gibts da nen "Cheatermodus", den du eingestellt hast?

    wordpad zeigt mir auch viel mist. ich kann aber zum beispiel nach IsBad suchen und dann zeigt er mir das und die umgebung.
    ich hab nicht wordpad verwendet, sondern den far file manager.



  • Okay, das war SEHR SEHR lehreich für mich, vielen vielen Dank!

    Also ich glaube das IsBad.... is jetzt aus dem Releasecode raus, ich werde das dann morgen mit dem Freund testen, dankeschön!



  • Dein compile-log schrieb:

    --------------------Konfiguration: KniffelWinAPI - Win32 Release--------------------
    Ressourcen werden kompiliert...
    Kompilierung läuft...
    main.cpp
    Linker-Vorgang läuft...
    main.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__InitCommonControlsEx@4
    Release/KniffelWinAPI.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    KniffelWinAPI.exe - 2 Fehler, 0 Warnung(en)

    Du verwendest die "Windows Common Controls". Dafür müsstest du bereits unter den [Projekteinstellungen] -> [Linker] die "commctrl32.lib*)" angegeben haben. Da du nun unter anderen Projekteinstellungen compilierst ("Release") und MSVS 6.0 IMHO die Linkereinstellungen nicht automatisch zwischen "Debug" und "Releas" updated, musst du diese nochmals eintragen.

    😉 Nagel mich bitte nicht auf den Namen fest, hab' mein VS nebst MSDN grad nicht installiert. Den korrekten Namen der Library findest du in der MSDN bei der Beschreibung der Funktion

    InitCommonControlsEx()
    

    unter "Requirements".

    HIH
    Greetz Swordfish



  • jo @ swordfish, so habe ich es dann auch gemacht und das hat dann auch mit dem compilieren geklappt!

    *heul*, aber als ich dann die neue .exe bei dem Freund probiert habe, ist die Meldung trotzdem nicht weg gegangen ...
    Ich hab mir auch die .exe angeschaut und das mit dem "IsBad..." ist auch weg, und es geht trotzdem nicht *wein*
    hier ist die neue .exe in einem Archiv:
    http://www.uploadtemple.com/view.php/1145888711.zip (fehlt natürlich jetzt der ganze rest um Kniffel richtig zu starten)
    habt ihr vllt. noch Ideen, das wäre sehr sehr lieb von euch!

    EDIT: Ich würde euch auch die 2500 zeilen Code geben, wenn ihr dadraus den "Fehler" finden könntet!

    Dankeschön



  • Für was brauchst du die heap-functions (HeapAlloc, VirtualAlloc)?
    stammt TerminateProcess() von dir oder hat das der compiler eingebaut?
    Was macht UnhandledExceptionFilter()?



  • Hm, also ich habe nicht eine dieser Funktionen in meinen Programmcode manuell eingebaut!
    Hab auch den Code durchsucht und soweit dort keine dieser Funktionen gefunden ...

    Das ist aber schon ein bissl (hm, wie soll ich das sagen), naja, "nervig", dass mir der Compiler da Funktionen in meine .exe einbaut, die ich garnicht haben möchte ...

    Danke für die Versuche, bzw. was kann ich denn jetzt machen, damit diese Funktionen nicht von meinem Compiler da rein gebaut werden?



  • hihi, kannst mir den Code ja mal schicken wenn mir was einfällt, werd ich mich umgehend melden; ich hasse solche Fehler; keine Ahnung woran es liegt... tze tze tze

    also wenne lust hast: cpp-coding@arcor.de

    just send it and i'll try to find the BiG BuG 😉

    Achja wenns geht innem Projekt also mit allem drum und dranne sonz wird das mit dem Debuggen etwas schwer 😉

    MfG CodeFinder



  • Das nehme ich gerne in Anspruch, der Code kommt gleich!

    THX



  • OK hab die Mail, pass auf, wenn ich was finde dann werd ich dir ne Mail schicken, wenn nicht eben nicht; was aber nicht hoffe; kenn seuche Bugs buhaha 😞

    MfG CodeFinder



  • n kleiner Tipp vorweg: warum hast du die tausende Button nicht mit ne Schleife erstellt.... mamma mia 😮

    MfG CodeFinder



  • also ich kann das gar nicht kompilieren denn:

    --------------------Konfiguration: KniffelWinAPI - Win32 Debug--------------------
    Kompilierung läuft...
    main.cpp
    Linker-Vorgang läuft...
    LINK : fatal error LNK1104: Datei "gdiplus.lib" kann nicht geoeffnet werden
    Fehler beim Ausführen von link.exe.

    KniffelWinAPI.exe - 1 Fehler, 0 Warnung(en)

    woher krieg ich denn die LIB bzw. was isn GDI+ ?

    MfG CodeFinder



  • also ich kann das gar nicht kompilieren denn:

    --------------------Konfiguration: KniffelWinAPI - Win32 Debug--------------------
    Kompilierung läuft...
    main.cpp
    Linker-Vorgang läuft...
    LINK : fatal error LNK1104: Datei "gdiplus.lib" kann nicht geoeffnet werden
    Fehler beim Ausführen von link.exe.

    KniffelWinAPI.exe - 1 Fehler, 0 Warnung(en)

    woher krieg ich denn die LIB bzw. was isn GDI+ ?

    MfG CodeFinder



  • Du musst ein aktuelles PSDK installieren...
    Siehe WinAPI Forum ganz oben!



  • schalte mal DEP ab.



  • ähm, ihr seid ja alle ganz liebe Hleferlein!

    Also @CodeFinder: die gdiplus.dll brauchste nicht ;-D

    @Jochen Kalmbach, das könnte ich mal machen ...

    @ DEPP, wie kann ichn DEP anschalten?


Anmelden zum Antworten