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 :

Erreur de compile service


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 347
    Par défaut Erreur de compile service
    Bonjour

    Je possède Visual C++ 2005 Express avec Platefrom SDK 2003 RC et tout semble bien fonctionné.
    J'ai essai de créer un service windows or je me suis confronté à un gros problème.

    Je possède plusieurs exemples et aucun fonctionne !Pourtant ils sont simple et je pense réellement quemon Visual C++ a un problème ?!

    Voilà ce que j'ai fais jusqu'à présent.
    J'ai fais un nouveau Win32 Console Application avec en type "Console application" et précompiled header (sans MFC la case est grisé).
    J'ai collé l'ensemble de l'exemple de ce lien :http://msdn.microsoft.com/library/de...n_function.asp

    A noté que j'ai gardé #include <stdafx.h> initialement présent dans la page cpp par défaut.
    Et je compile !Voici la liste des erreurs ci dessous.

    Merci d'avance !



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    1>------ Build started: Project: Service_install, Configuration: Debug Win32 ------
    1>Compiling...
    1>Service_install.cpp
    1>Linking...
    1>Service_install.obj : error LNK2019: unresolved external symbol __imp__StartServiceCtrlDispatcherA@4 referenced in function _main
    1>Service_install.obj : error LNK2019: unresolved external symbol "void __cdecl MyServiceStart(unsigned long,char * *)" (?MyServiceStart@@YAXKPAPAD@Z) referenced in function _main
    1>Service_install.obj : error LNK2019: unresolved external symbol __imp__wsprintfA referenced in function "void __cdecl SvcDebugOut(char *,unsigned long)" (?SvcDebugOut@@YAXPADK@Z)
    1>N:\Visual Studio 2005\Projects\Service_install\Debug\Service_install.exe : fatal error LNK1120: 3 unresolved externals
    1>Build log was saved at "file://n:\Visual Studio 2005\Projects\Service_install\Service_install\Debug\BuildLog.htm"
    1>Service_install - 4 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Par défaut
    Il faut que tu fasses le lien avec une bibliotheque quelconque. Ca doit etre dans la doc. Les gens du forum Developpement Windows devraient pouvoir t'aider.

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Pas du C (fichier .cpp, et ta fonction MyServiceStart() possède un nom C++).
    Renomme tes fichiers (y compris stdafx) en .c, fais un Rebuild All, et on verra.

    Poste des parties concernées de ton code aussi, car là, il y a carrément une fonction à toi qui n'est pas trouvée...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 347
    Par défaut
    Bonjour et merci pour vos réponses!

    Je changement d'extension n'a rien changé malheureusement.
    J'ai essayé le code ici : http://c.developpez.com/faq/vc/?page...wToMakeService
    Et là :http://chgi.developpez.com/windows/services/

    Autant dire que je me donne du mal.. mais tous sans succés !
    J'ai à chanque fois plein d'erreur. Le pire c'est que je viens de tester sous Visual studio 6 et tout les codes fonctionnes
    Mais je suis obligé de développé mon service sous visual c++ 2005 Express.

    Que dois je faire ?

    Je ne peux pas trop détaillé mes erreurs car ils sont trop nombreux et change par rapport au code example, pourtant il fonctionne tous sauf sur mon Visual

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Je viens de voir des "char *" dans le nom.
    Es-tu sûr que tu n'as pas des problèmes d'unicode ou de TCHAR ?

    Et au fait: Tu as testé des programmes plus simples avec ton VS 2005 ? Histoire de vérifier que le SDK est bien installé pour tes deux versions de Visual, etc.

    Déjà, faire tourner un simple programme avec une MessageBox()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 347
    Par défaut
    Bonjour Médinoc,

    J'ai réussit à faire tourné des programmes très simples sous viusal 2005 et j'ai bien installé sdk en précisant bien les libraries...

    Après j'ai effectivement vu que je devais (il me semble) changer le unicode en multicode..
    Mais sans grand succée puisque en Use Unicode Character Set
    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
     
    1>------ Build started: Project: Testservice2, Configuration: Debug 
    Win32 ------
    1>Compiling...
    1>stdafx.cpp
    1>Compiling...
    1>Testservice2.cpp
    1>n:\visual studio 
    2005\projects\testservice2\testservice2\testservice2.cpp(14) : error 
    C2664: 'GetCurrentDirectoryW' : cannot convert parameter 2 from 'char 
    [1024]' to 'LPWSTR'
    1>        Types pointed to are unrelated; conversion requires 
    reinterpret_cast, C-style cast or function-style cast
    1>n:\visual studio 
    2005\projects\testservice2\testservice2\testservice2.cpp(19) : error 
    C2664: 'CreateServiceW' : cannot convert parameter 2 from 'const char 
    [11]' to 'LPCWSTR'
    1>        Types pointed to are unrelated; conversion requires 
    reinterpret_cast, C-style cast or function-style cast
    1>n:\visual studio 
    2005\projects\testservice2\testservice2\testservice2.cpp(20) : error 
    C2440: '=' : cannot convert from 'const char [35]' to 'LPWSTR'
    1>        Types pointed to are unrelated; conversion requires 
    reinterpret_cast, C-style cast or function-style cast
    1>Build log was saved at "file://n:\Visual Studio 
    2005\Projects\Testservice2\Testservice2\Debug\BuildLog.htm"
    1>Testservice2 - 3 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    En Use Multi-Byte Character Set
    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
     
    1>------ Build started: Project: Testservice2, Configuration: Debug 
    Win32 ------
    1>Compiling...
    1>stdafx.cpp
    1>Compiling...
    1>Testservice2.cpp
    1>n:\visual studio 
    2005\projects\testservice2\testservice2\testservice2.cpp(15) : warning 
    C4996: 'strcat' was declared deprecated
    1>        c:\program files\microsoft visual studio 
    8\vc\include\string.h(78) : see declaration of 'strcat'
    1>        Message: 'This function or variable may be unsafe. Consider 
    using strcat_s instead. To disable deprecation, use 
    _CRT_SECURE_NO_DEPRECATE. See online help for details.'
    1>Linking...
    1>Testservice2.obj : error LNK2019: unresolved external symbol 
    __imp__CloseServiceHandle@4 referenced in function _main
    1>Testservice2.obj : error LNK2019: unresolved external symbol 
    __imp__ChangeServiceConfig2A@12 referenced in function _main
    1>Testservice2.obj : error LNK2019: unresolved external symbol 
    __imp__CreateServiceA@52 referenced in function _main
    1>Testservice2.obj : error LNK2019: unresolved external symbol 
    __imp__OpenSCManagerA@12 referenced in function _main
    1>N:\Visual Studio 2005\Projects\Testservice2\Debug\Testservice2.exe : 
    fatal error LNK1120: 4 unresolved externals
    1>Build log was saved at "file://n:\Visual Studio 
    2005\Projects\Testservice2\Testservice2\Debug\BuildLog.htm"
    1>Testservice2 - 5 error(s), 1 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

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

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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