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 :

"Cannot execute program" pourquoi ?


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Juillet 2002
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 22
    Par d�faut "Cannot execute program" pourquoi ?
    hello,

    Je dois faire un programme qui utilise des DLL fournies par une soci�t�.
    J'essai pour l'instant d'utiliser la premier fonction qui est "Connect", c'est � dire connexion � la base Oracle.
    Je compile mon programme et j'ai 0 erreurs et 0 warnings ... donc je me dit parfait ... et bien non ... quand je l'�x�cute j'ai un message d'insulte qui me dit : "Cannot execute program" ...

    Ma question est : sauriez-vous m'aider ?????????

    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
     
     
    #include <malloc.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <iostream>
     
    using namespace std;
     
    extern "C" {
    	#include "gen.hpp"
    }
     
    int main (int argc, char* argv[]) {
     
    	char* cUser = "USER";
    	char* cAlias = "ALIAS";
    	char  cError[255];
     
    	//Connect to LIQ database
    	if (Connect(cAlias, cUser, cError) != 0 ) {
    		cout << "Connect returned an error :" << cError << endl;
    		exit(1);
    	}
     
    	cout << "Connexion OK" << endl;
     
    	return 0;
    }
    J'ai ajout� mon r�pertoire de dev aux r�pertoires pour les "include", "Library" et "Ressource" files.
    J'ai aussi ajout� le fichier "gen.hpp" aux fichiers "header" de mon projet.

    Que fais-je de mal ????

    Merci pour l'aide ...
    Hathor.

  2. #2
    Membre averti
    Inscrit en
    Juillet 2002
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 22
    Par d�faut
    J'avais oubli� un petit truc (un oubli tr�s b�te ... passons) ... maitennant quand je compile j'ai le message :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    C:\WorkArea\CppProgram\Debug\ATCStaticData.o: In function `main':
    C:\WorkArea\CppProgram\ATCStaticData.cpp:20: undefined reference to `_imp__Connect@12'
    Je comprends pas ???

    Help me please !!!
    Hathor

  3. #3
    Membre chevronn�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Par d�faut
    C'est une erreur de lien, ton linker ne sait pas o� trouver la librairie (ou alors il ne sait m�me pas qu'il doit lier avec cette librairie). Faut le lui sp�cifier, apr�s cel� d�pend si tu travailles directement sur le Makefile ou avec un IDE.

  4. #4
    Membre �clair� Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Par d�faut
    Tu as oublier de linker une bibliotheque a ta DLL ou bien a ton programme.

    C'est la bibloiotheque qui definit la fonction suivante : Connect

  5. #5
    Membre averti
    Inscrit en
    Juillet 2002
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 22
    Par d�faut Pb Dll & Lib
    Bonjour,
    Je reviens sur mon probl�me de DLL. La librairie ne m'est pas fournie avec la DLL, j'essai donc de la g�n�rer sous DOS mais cela ne fonctionne pas.

    L� encore, la question est : que fais-je de travers ?????

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    D:\>implib gen.lib gen.dll
    'implib' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    Merci beaucoup pour l'aide,
    Hathor.

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    1. Sous DOS ou sous l'invite de commandes de Windows 2000/XP ?
    2. Le message d'erreur est explicite: L'interpr�teur ne connait pas "implib" et si c'est un exe, il n'est pas dans ce dossier. Plusieurs solutions:
      • Lancer la commande en �tant dans le dossier o� se trouve implib.exe (tu devras donc indiquer le chemin de ta DLL)
      • Lancer la commande en indiquant le chemin complet (absolu ou relatif) de implib.exe
      • Ajouter le chemin du dossier o� se trouve implib.exe dans la variable d'environnement PATH avant de lancer la commande.
    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.

  7. #7
    Membre averti
    Inscrit en
    Juillet 2002
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 22
    Par d�faut
    OK, en fait je suis sous windows XP et donc j'utilise l'invit de commande ... mais mon probl�me venait surtout du fait que nulle part je n'avais "implib.exe" !!!!
    Apr�s une petite recherche, il se trouve que j'utilise "MinGw", donc j'ai utiliser "dlltool" dans l'invit de commande :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    C:\Program Files\OpenSource\MinGWStudio2\MinGW\bin>dlltool --dllname gen.dll --output-lib gen.lib
    et miracle, j'ai une lib qui a �t� g�n�r�e ... je l'ai int�gr� � mon projet ... mais quand j'ex�cute le programme j'obtiens l'erreur suivante :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    Linking...
    C:\Program Files\OpenSource\MinGWStudio2\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: C:\CppProgram: No such file: Permission denied
    collect2: ld returned 1 exit status
     
    Prog.exe - 1 error(s), 0 warning(s)
    Please help me .. encore ...
    Hathor.

  8. #8
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    V�rifie que tu ne cherches pas � cr�er l'exe dans un r�pertoire o� tu n'as pas le droit d'�crire (comme la racine de C:\ si tu n'es pas admin)...
    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.

  9. #9
    Membre averti
    Inscrit en
    Juillet 2002
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 22
    Par d�faut
    Je ne comprends pas ... J'ai pourtant les droits admin sur mon poste ... J'ai m�me ajout� le r�pertoire de compil et mon r�pertoire de travail dans la variable d'environnement PATH, et l'erreur persiste ...

    une id�e ?

    Merci

  10. #10
    Membre �m�rite Avatar de J�r�my Lefevre
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Par d�faut
    fait un echo $PATH et regarde ce que ca te sort??

  11. #11
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    �a sortira "$PATH", Hathor bosse sous l'invite de commandes Windows...
    Mais tu peux v�rifier avec echo %PATH%.

    Mais � ta place, je v�rifierais surtout les droits de C:\CppProgram (tu as la commande CACLS si tu es sous XP familial, sinon tu as des outils plus efficaces int�gr�s � l'explorateur)...
    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.

  12. #12
    Membre averti
    Inscrit en
    Juillet 2002
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 22
    Par d�faut
    J'ai les droits d'admin sur mon poste, donc cela ne doit pas �tre cela.

    D'autre part, dans la variable d'environnement syst�me j'ai ajout� � la variable PATH :
    1.Mon r�pertoire de travail (l� o� j'ai mon code)
    2.Le r�pertoire "C:\....\MinGWStudio2\MinGW\bin" o� se trouve "g++.exe" and co.

    Erreur ?
    Merci pour l'aide ...

  13. #13
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    Je pense que le r�pertoire de travail est inutile, et surtout n'a rien � faire dans le PATH syst�me (partag� entre tous les utilisateurs). Il serait mieux dans ton PATH utilisateur.
    Par contre, c'est OK pour le r�pertoire \bin de MinGW.
    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.

Discussions similaires

  1. Execution macro quoting
    Par lhonolulu dans le forum Macro
    R�ponses: 1
    Dernier message: 11/03/2014, 15h28
  2. R�ponses: 13
    Dernier message: 19/07/2006, 14h28

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