GCC



  • welche zusäzlichen header/files muss man im gcc (g++) einbinden, damit ein Programm mit der Winapi kompiliert wird?
    bisher probiert:

    g++ test.cpp
    g++ test.cpp -lw32
    g++ test.cpp -lw32api
    
    //#include "cpptest.h"
    #include <iostream>
    #include <windows.h> 
    #include <shellapi.h>
    
    int main()
    {
        std::cout<<"C++: helloworld"<<std::endl;
        ShellExecute(NULL,"open","helloworld.exe",NULL, NULL, SW_SHOWNORMAL) ;
        return 0;
    }
    


  • linkst du auch die shell32.lib?



  • Hallo Kasino,

    worin liegt denn das Problem? Eigentlich sollte

    g++ test.cpp
    

    reichen.

    Viele Grüße,
    MaBa



  • Was hast du vor?
    Du willst unter Console das Programm "helloworld.exe" aus deinem Programm starten?

    Bekommst du eine Fehlermeldung beim compilieren oder linken? Wenn ja, welche?

    Oder siehst du nur nix auf deinem Bildschirm, wenn du das Programm startest?
    Dann siehe in den FAQ in der Rubrik "DOS und Win32-Konsole" hier im Forum - ist eine der am häufigsten gestellte Frage.

    Am die Moderatoren: es fehlt der Kristallkugelsmilie 😉

    MfG f.-th.



  • dot schrieb:

    linkst du auch die shell32.lib?

    Das ist es vermutlich.

    Zahlreiche Meldungen der Form:

    c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.5.0/../../../../include shellapi.h:150:2: error: 'HWND' does not name a type
    cpptest.cpp:9:31: error: 'ShellExecuteA' was not declared in this scope
    

    Ich vermute ich muss die shell32 linken.

    g++ test.cpp -lshell32
    

    führ nicht zum Ziel (ich habe eine libshell32.a im mingw-Ordner).



  • Das ist aber ein Compilerfehler. Offenbar stimmt etwas mit deinen Headern nicht (vielleicht falsche _WIN32_WINNT!?).
    Wenn du für Windows entwickeln willst so kann ich dir nur dazu raten Visual Studio zu verwenden.



  • Deinen Code kann ich bei mir mittels...

    g++ -O2 -o test test.cpp

    ...kompilieren.

    Sollte es dennoch Probleme geben, liegt das definitiv an deiner MinGW Installation (Umgebungsvariablen für MinGW, Projekteinstellungen usw.).

    Gruß
    Trooper



  • Der Quelltext vom Beitragsteller lässt sich wie MaBa geschrieben einfach ohne sonstiges Schnickschnack kompilieren.

    Also mal genau beschreiben was erwartet wird, wie die Fehlermeldungen lauten und was nicht funktioniert.



  • Danke, werde erstmal MinGW neu Installieren. Offensichtlich muss da der Fehler liegen.


Anmelden zum Antworten