IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[Débutant] API WINDOWS pb de linker avec DEV-C++


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [Débutant] API WINDOWS pb de linker avec DEV-C++
    Bonjour,

    Je m'initie à la prog Windows avec le tutoriel de Cgi sur :
    http://chgi.developpez.com/windows/hdc/

    dans le chapitre 5 sur les contextes de périphériques j'ai recopié le code mais il ne se compile pas avec Dev-C++
    Apparemment il y a un pb avec les fonctions SetBkMode et Textout car le compiler me marque :

    [Linker error] undefined reference to `SetBkMode@8'
    [Linker error] undefined reference to `TextOutA@20'
    ld returned 1 exit status

    je vous reproduis le code ici pour vous éviter d'aller le revoir sur la page. je vous remercie par avance pour toute aide

    #include <windows.h>

    LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);

    int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
    {
    HWND hwnd;
    MSG msg;
    WNDCLASS wc;

    wc.style = 0;
    wc.lpfnWndProc = MainWndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = NULL;
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
    wc.lpszMenuName = NULL;
    wc.lpszClassName = "MaWinClass";

    if(!RegisterClass(&wc)) return FALSE;

    hwnd = CreateWindow("MaWinClass", "Titre", WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT, 400, 300,
    NULL, NULL, hinstance, NULL);
    if (!hwnd) return FALSE;

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);


    while (GetMessage(&msg, NULL, 0, 0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }
    return msg.wParam;
    }
    /******************************************************************************/

    LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    switch (uMsg)
    {
    case WM_PAINT :
    {
    int y;
    char st[] = "Bienvenue sur Developpez.com" ;
    PAINTSTRUCT ps;
    HDC hdc = BeginPaint(hwnd, &ps);

    SetBkMode(hdc, TRANSPARENT);
    for(y=10; y <= 200; y += 20)
    TextOut(hdc, 10, y, st , lstrlen(st));
    EndPaint(hwnd, &ps);

    return 0;
    }

    case WM_DESTROY:
    PostQuitMessage(0);
    return 0;

    default:
    return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }
    }

  2. #2
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 030
    Points : 8 202
    Points
    8 202
    Par défaut
    C'est que la lib "libgdi32.a" n'est pas lié au projet.

    Normalement si dans "Compiler options" -> linker
    la case "Do not use standard system startuo files or libraries"
    n'est pas cochée, il n'y a pas besoin de l'ajouter.

    Si ça persite essais de l'ajouter.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  3. #3
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 030
    Points : 8 202
    Points
    8 202
    Par défaut
    J'ai reproduit l'erreur.

    Pour ne pas l'avoir il faut cocher la case "Do not create a console"
    la "projects options".
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut C'est bon çà marche Merci
    En cochant Yes à "ne pas créer de fenêtre console" la compilation s'effectue sans erreur.

    Merci du tuyau

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème avec Dev-Cpp 4.9.9.0
    Par P4Pi dans le forum Dev-C++
    Réponses: 7
    Dernier message: 16/01/2010, 16h48
  2. Réponses: 1
    Dernier message: 18/12/2007, 15h04
  3. [API Windows] Utiliser le hDC avec un EDIT
    Par Dev-FX dans le forum Visual C++
    Réponses: 3
    Dernier message: 07/04/2007, 15h53
  4. Stocker un imprim ecran sous bmp avec l'api windows
    Par Tofalu dans le forum Windows
    Réponses: 7
    Dernier message: 04/05/2005, 11h32
  5. Réponses: 3
    Dernier message: 09/11/2004, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo