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

MFC Discussion :

probl�me de liens avec API sous VC++


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par d�faut probl�me de liens avec API sous VC++
    J'ai mis ce sujet ici car je code sous VC++

    Comme je ne connais pas du tout les API, je me permet de demander conseil

    voila alors j'ai regard� dans le tutorial du site le code pour ouvrir une simple fen�tre API, que voici :


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    #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_CREATE:
     
                return 0;
     
            case WM_DESTROY:
                PostQuitMessage(0);
                return 0;
     
            default:
                return DefWindowProc(hwnd, uMsg, wParam, lParam);
        }
    }
    Il compile bien, mais il me met une erreur de lien :
    "error LNK2001: unresolved external symbol _main"

    Or comme il s'agit d'un pgm windows, je pense (dite-moi si je me trompe) que l'on n'a pas besoin de mettre un "main" pur C++

    Je pense que �a doit etre tout con, j'ai du oublier un truc, mais j'arrive pas � trouver quoi...

    merci d'avance

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    il faut redefinir ton point d'entr�e, dans les settings ou par pragma
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    #pragma comment(linker, "/entry:WinMain")
    Mais tu risques d'avoir d'autres probl�mes, comme le /subsystem:windows

    Peut-etre refaire un projet Win32 ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par d�faut
    OK je vais essayer je vous tiens au courant. merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par d�faut
    En effet cela pose d'autres probl�me.
    l'erreur est maintenant "unresolved external symbol _wWinMain@16"
    je cherche de mon cot�,si je trouve je vous le fais savoir
    merci quand meme

  5. #5
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tu as regard� dans tes options, si le /subsystem �tait � console ou windows ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par d�faut
    En fait je ne connais pas toutes (et de loin) les subtilit� de visual.
    Je ne sais donc pas ou on peut v�rifier le \subsystem

    Mais en reprenant la d�marche d�crite sur la page "http://bob.developpez.com/tutapiwin/article_1.php" sur un nouveau projet �a marche. Il est pr�conis� Win32 application, alors que je faisait "Win32 console aplication" donc c'�tait bien �a.

    Au passage, je me permets de signaler un chti truc : faire attention au fichier resource.h il y est �crit "ressource.h" sur le tuto avec 2 s, dans VC++ il est cr�� "resource.h" �a d�pend peut-�tre du langae de l'�diteur ?
    Bon c'est un d�tail mais voila mieux vaut pr�venir que gu�rir

    Voila maintenant me rest plus qu'a regarder les diff�rents param�tres pour modifier la fen�tre mais �a devrait aller

    Meri d'avoir trouv� la soluce si vite

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    en fait, en recr�ant le projet, cela a chang� le subsystem � windows

    si c'est OK, n'oublie pas le boutton r�solu en bas � gauche

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par d�faut
    OK merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me de lien avec wsock32.dll sous g++ (mingw32)
    Par TheShadow dans le forum Autres �diteurs
    R�ponses: 3
    Dernier message: 11/04/2006, 14h43
  2. R�ponses: 5
    Dernier message: 09/04/2006, 19h02
  3. Probl�me de sub avec un sous formulaire
    Par SpyesX dans le forum Access
    R�ponses: 5
    Dernier message: 08/03/2006, 00h27
  4. Probl�mes de liens avec ODBC vars DB Oracle
    Par kmingaso dans le forum ASP
    R�ponses: 1
    Dernier message: 05/09/2005, 09h51

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