Umstiegsschwierigkeiten bei bestehendem Code(Veraltetee Headerdatei?)



  • Seid gestern 30min vor Feierabend, bin ich nutzer von "Microsoft Visual C++ 6".

    Ich hatte gehofft dadurch kann ich besser arbeiten, wegen dem Debugger, aber bis dahin komme ich nicht einmal.
    Ich arbeite in der Programmiersprache C und dort brauche ich eine Headerdatei für boolsche Variablen namens "stdbool.h" die man -wie immer- mit "#include <stdbool.h>" einbindet.
    Nun wurde mir gesagt (beim Compilieren) das es diese nicht giebt.
    Naja ich habe dann in die ersten 3 Zeilen meines Programmes
    "#define bool int
    #define true 1
    #define false 0"
    diesen Abschnitt geschrieben, jetzt läuft es... Zumindest in diesem Fall.

    Jetzt bekomme ich eine andere Meldung, die ich noch nie gesehen habe:

    GUIfN.obj : error LNK2001: Nichtaufgeloestes externes Symbol __beginthread
    GUIfN.obj : error LNK2001: Nichtaufgeloestes externes Symbol __endthread
    Debug/GUIfN1.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
    

    Ja super. Im alten compiler kein Problem, jetzt so eine komische Fehlermeldung...
    Gibt es irgendwo ne Seite wo die Fehlermeldungen genauer beschrieben sind?
    Weil ich kann mit der nichts anfangen, der funktionsaufruf

    _beginthread( #FUNKTIONSNAMEOHNEKLAMMERN, 0, NULL );
    

    hat bei mir so immer geklappt.

    Weiß da wer Rat?

    TY im vor-raus 🙂
    [eidt1]
    titel
    [edit2]
    "vor_raus" zusammen würde "v******" ergeben !?



  • Du musst in den Projekteinstellungen unter C/C++|Code generation die Runtime auf irgendwas mnit "Multithreaded" umstellen!



  • Ich habe unter:
    Projekt->Einstellungen->"MFC wird nicht verwendet" auf "MFG in einer gemeinsam genutzten DLL verwenden".

    Dann geht das wohl.



  • Steht das irgendwas von "Multithreaded"?



  • Das was du geschrieben hast gibt es auch ja...
    Ist aber schon aktiv...



  • Beide einstellungen müssen halt übereinstimmen...
    MFC: DLL => CRT auch DLL...
    MFC: Statisch => CRT auch statisch...



  • ok Danke.



  • komische sache...
    Ich habe die windows.h und die windowsx.h ausgetauscht, weil in der alten stand:

    #if(WINVER >= 0x0500)
    #pragma message ("")
    #pragma message ("NOTE: WINVER has been defined as 0x0500 or greater which enables")
    #pragma message ("Windows NT 5.0 and Windows 98 features. When these headers were released,")
    #pragma message ("Windows NT 5.0 beta 1 and Windows 98 beta 2.1 were the current versions.")
    #pragma message ("")
    #pragma message ("For this release when WINVER is defined as 0x0500 or greater, you can only")
    #pragma message ("build beta or test applications.  To build a retail application,")
    #pragma message ("set WINVER to 0x0400 or visit http://www.microsoft.com/msdn/sdk")
    #pragma message ("to see if retail Windows NT 5.0 or Windows 98 headers are available.")
    #pragma message ("")
    #pragma message ("See the SDK release notes for more information.")
    #pragma message ("")
    #endif
    

    Naja hab ich die aus MinGW benutzt, also rüberkopiert...
    vorher 90 fehler
    jetzt 20 Fehler.

    Nun meckert er in der wincon.h, irgenwas mochte er nicht...

    c:\program files\microsoft visual studio\vc98\include\wincon.h(137) : error C2143: Syntaxfehler : Fehlendes ')' vor '*'
    c:\program files\microsoft visual studio\vc98\include\wincon.h(137) : error C2143: Syntaxfehler : Fehlendes '{' vor '*'
    c:\program files\microsoft visual studio\vc98\include\wincon.h(137) : error C2059: Syntaxfehler : ','
    c:\program files\microsoft visual studio\vc98\include\wincon.h(137) : error C2059: Syntaxfehler : ')'
    

    die betrefende Zeile:

    HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,CONST SECURITY_ATTRIBUTES*,DWORD,LPVOID);
    

    Ich finde es schon schade dass da so wenig läuft... Ich habe jetzt
    24 Fehler und 8 Warnungen, wobei einige Warnungen wohl meinen Code betreffen.

    Wisst ihr was da irgendwie veraltet ist / wie ich diese Fehler wegbekommt?



  • Igendwelche windows.h oder sonstige PSDK-Dateien darfst Du *nicht* einfach kopieren!
    Das wird Fatal!

    Was für ein PSDK hast Du denn installiert?
    Was für ein Compiler hast Du? VC6? Da ist das letzte PSDK das damitmit dem 10 Jahre alten Compilter unterstützt wird Februar 2003:
    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
    Alle späteren darf man mit VC6 nicht mehr verwenden!



  • Danke werds versuchen.

    Ist der schon 10 Jahre alt?
    Sollte man unter Vista nicht mehr unbedingt nutzen oder?

    Die ganzen Meldungen wie "Kann nicht mehr genutzt werden" habe ich bis jetzt munter ignoriert, aber gut ist dass nicht unbedingt oder?



  • Die selbe meldung mit der Headerdatei auch nach Update...

    Ist das Programm zu alt?


Anmelden zum Antworten