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

C++ Discussion :

Problème pour dialoguer avec port parallèle


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut Problème pour dialoguer avec port parallèle
    Bonjour,
    Je suis débutant en C++. Je cherche à utiliser le port parallèle de mon PC, avec la librairie NTPort.

    J'ai téléchargé la librairie à l'adresse :
    http://www.zealsoftstudio.com/ntport/

    Je place ntport.h dans le répertoire include, et j'ajoute ntport.lib à mon projet.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include "ntport.h"
     
    void main()
    {
    int i;
    for (i=1;i<=1000;i++)
    {
    Outport(767,255);
    Outport(767,0);
    }
    }
    VOici le message d'erreur qui s'affiche dans le compilateur (Microsoft Developer Studio 97 - je sais c'est vieux, mais ca devrait marcher..., avec Windows 2000) :

    Compiling...
    Source.cpp
    Linking...
    LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
    Debug/Test.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe

    Test.exe - 2 error(s), 0 warning(s)


    Quelqu'un a-t-il une idée ??
    Merci !

  2. #2
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Salut!

    Change la line avec main:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int WinMain(HINSTANCE hInstance,  HINSTANCE hPrevInstance, LPSTR lpCmdine,   int nCmdShow)

  3. #3
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Bonjour,
    Pourrais-tu m'expliquer une peu plus ta réponse ?
    Où se trouve la ligne que je dois changer ? Dans ma feuille principale ? Ou alors je dois aller chercher dans la librairie ?

    Je suis débutant en C++
    Merci de ton aide..

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Eh bien,

    j'ai voulu dire que tu doives substituer la ligne
    à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include "Windows.h"
    #include "ntport.h" 
     
    int WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine,  int nCmdShow)
    { 
      int i; 
      for (i=1;i<=1000;i++) 
      { 
        Outport(767,255); 
        Outport(767,0); 
      } 
      return 0;
    }

  5. #5
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut ca ne marche toujours pas
    OK !
    Bon merci, jai compris ce qui nallait pas.

    => j'ai bien remplacé void main par int WinMain
    Mais cela ne marche toujours pas.
    Avec exactement le code que tu me dis, voici le message d'erreur que j'ai :

    Compiling...
    Source.cpp
    Source.cpp(6) : error C2373 : 'WinMain' : redefinition; different type modifiers
    Error executing cl.exe
    Test.exe - 1 error(s), 0 warning(s)

  6. #6
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut Jai aussi une autre erreur
    Jai également essaye avec une "console application" (DOS)

    VOici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include "ntport.h"
     
    void Main()
    {
    int i;
     
    for (i=1;i<=1000;i++)
    {
    Outp(0x0378,0xFF);
    Outp(0x0378,0x00);
    }
    }
    J'ai inclus les fichiers ntport.h et ntport.lib dans le projet.
    A la compilation, voici le message d'erreur que j'obtiens :

    Linking...
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    Debug/Test.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe

    Test.exe - 2 error(s), 0 warning(s)

    Quelqu'un a-t-il une idée ?

  7. #7
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Bon jai trouvé pour le proramme Win32 :

    il fallait mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int APIENTRY WinMain...
    au lieu de
    Sinon, quelqu'un a une idée pour l'erreur sous DOS ?

  8. #8
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Bon, j'ai fini par trouver...

    J'ai écrit :
    au lieu de
    Le C++ est case-sensitive...

    Autre remarque :
    mon appli windows fonctionne non seulement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int APIENTRY WinMain(...
    mais aussi avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int WINAPI WinMain(...

  9. #9
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Ce qui est normal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define APIENTRY    WINAPI

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/06/2006, 17h00
  2. Réponses: 4
    Dernier message: 11/04/2006, 09h07
  3. Problème pour piloter le port série avec TComPort
    Par Jayceblaster dans le forum Composants VCL
    Réponses: 6
    Dernier message: 08/12/2005, 14h21
  4. A la recherche d'un soft pour dialoguer sur port serie
    Par Rudy 34 dans le forum Composants
    Réponses: 5
    Dernier message: 25/02/2005, 15h54
  5. recherche composant pour dialoguer avec modem
    Par newbie qui galere dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/10/2004, 23h20

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