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 :

Exécuter un script C++


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut Exécuter un script C++
    Bonjour,

    Je suis débutant en la matière (et encore, débutant c'est trop balaize pour moi !), et j'aimerais éxecuter ce petit script codé en c++.

    Voici le header du script :

    /*
    * rtac.cpp
    * Licensed under GNU GPLv2
    * Needed Libs: libpcap
    * Compile: g++ -lpcap -o rtac rtac.cpp
    * Usage: ./rtac . then open any rtac url in your browser and the rest is auto
    *
    */
    Le but de ce dernier est de récuperer un fichier à partir d'une adresse url particulière (que l'on appellera rtac), rtac://adresse_du_media
    Seulement voilà, je pars totalement de zéro !

    J'arrive pas du tout à comprendre comment associer le script avec l'url du media (./rtac . -> c'est du charabia pour moi ^^").

    Je sollicite vivement votre aide, et vous remercie par avance pour vos éclaircissements.


    RoK

  2. #2
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    Ton script est un script C++, pas Perl !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /*
    * rtac.cpp
    * Licensed under GNU GPLv2
    * Needed Libs: libpcap
    * Compile: g++ -lpcap -o rtac rtac.cpp
    * Usage: ./rtac . then open any rtac url in your browser and the rest is auto
    *
    */
    En rouge, tu as la ligne de commande à utiliser pour le compiler...

  3. #3
    Membre expérimenté Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Par défaut
    Citation Envoyé par MarneusCalgarXP
    Ton script est un script C++, pas Perl !!!

  4. #4
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    Désolé, mais c'était pour reprendre les termes du 1° message
    Je sais qu'on dit "programme" pour du C++ dans le sens où c'est compilé

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Je suis vraiment mauvais, désolé.
    C'est la personne qui me l'a refilée qui désignait le script comme étant du perl, et j'ai pas cherché à savoir si elle s'était trompée.
    Vu comme ça c'est même évident... quel idiot je fais .
    En tout cas merci !

    Vous aurez un logiciel simple (voir même possédant une interface windows, sait-on jamais ?) pour compiler ça ?
    Vu que je cherche simplement à en faire un "éxecutable".

    Et pour la ligne usage :
    * Usage: ./rtac . then open any rtac url in your browser and the rest is auto
    Vous avez une idée de comment l'utiliser ?


    Merci d'avance, toute aide de votre part m'est vraiment précieuse


    P.S. Si un modérateur passe par là, merci de déplacer le topic dans le forum C++

  6. #6
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Citation Envoyé par RoK38
    Vous aurez un logiciel simple (voir même possédant une interface windows, sait-on jamais ?) pour compiler ça ?
    Vu que je cherche simplement à en faire un "éxecutable".
    Si tu es sous windows, tu peux toujours télécharger l'environnement Dev C++, mais pour compiler un seul programme je ne suis pas sur que ce soit super utile

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    je deplace le topic dans le forum C++

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Citation Envoyé par Woufeil
    Si tu es sous windows, tu peux toujours télécharger l'environnement Dev C++, mais pour compiler un seul programme je ne suis pas sur que ce soit super utile
    Merci, je l'ai téléchargé.
    De toute façon, une fois le tout compilé je pourrais le désinstaller

    Mais j'ai encore beaucoup de mal, je dois admettre que je pars vraiment de zéro, et j'éspère que ces quelques manipulations m'aideront à comprendre.

    Je l'ai donc installé, et lancé (Dev-C++).
    De là, j'ai ouvert mon fichier rtac.cpp.

    Seul hic, il me faut la librairie "Libpcap". Je l'ai donc téléchargée, et décompressée dans le dossier "lib" de Dev-C++ (sans dossier parents, j'ai directement décompressé tous les fichiers dedans).
    Mais malgré ça, quand je clique sur "Exécuter > Compiler", les messages d'erreurs sont les suivants :

    Compilateur: Default compiler
    Exécution de g++.exe...
    g++.exe "G:\Documents and Settings\RoK\Bureau\rtac.cpp" -o "G:\Documents and Settings\RoK\Bureau\rtac.exe" -I"G:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"G:\Dev-Cpp\include\c++\3.4.2\backward" -I"G:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"G:\Dev-Cpp\include\c++\3.4.2" -I"G:\Dev-Cpp\include" -L"G:\Dev-Cpp\lib"
    G:\Documents and Settings\RoK\Bureau\rtac.cpp:19:18: pcap.h: No such file or directory
    G:\Documents and Settings\RoK\Bureau\rtac.cpp:20:30: netinet/if_ether.h: No such file or directory
    G:\Documents and Settings\RoK\Bureau\rtac.cpp:21:24: netinet/ip.h: No such file or directory
    G:\Documents and Settings\RoK\Bureau\rtac.cpp:22:25: netinet/tcp.h: No such file or directory
    Ils ne trouvent visiblement pas la librairie ?

    Et comment utiliser la ligne de commande suivante ?
    * Compile: g++ -lpcap -o rtac rtac.cpp


    Merci d'avance

  9. #9
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Dans le zip de la librairie, il doit y avoir un dossier lib et un dossier include.
    mets tout le contenu du dossier include dans le dossier include de Dev-C++ et mets tout le contenu du dossier lib de ton zip dans le dossier lib de Dev-C++
    Oublie pas de linker la lib(-lpcap).
    sous dev-c++ il faut aller dans Projet/Options du projet puis Options du compilateur, quelque chose comme ça, et tu rajoutes -lpcap dans Edition de lien ou Bibliothèques, je sais plus.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Merci de ton aide mais il n'y a pas de dossier lib dans l'archive, juste un Include (dans le dossier Win32) :
    http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz

    De plus, je n'ai pas accès aux Options du Projet puisque je me suis contenté d'ouvrir le fichier .cpp.


  11. #11
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Hé bien fais un nouveau projet et rajoute le .cpp

    Ensuite, y a-t-il un dossier src dans ce que t'as téléchargé?

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Voilà, je l'ai inséré dans un nouveau projet (vierge).
    Et il y a bien un dossier SRC.

    Histoire de gagner du temps, j'ai donc uploadé le contenu du dossier src dans le dossier lib de Dev-C++.
    Et j'ai rajouté -lpcap dans le champ Edition de Liens de mon projet.

    Mais toujours les même messages d'erreurs...

    D'ailleurs, toujours dans Edition de Liens, quand je clique directement sur Ajouter fichier, je constate que le fichier "principal" d'une librairie doit avoir comme extension .a ou .lib, or dans la zip (complète) il n'y a aucun fichier de ce format.


    Si jamais tu pouvais jetter un coup d'oeil, ci-dessous le site de la librairie :
    http://www.tcpdump.org

    Et ici les includes de mon fichier :

    #include <stdio.h>
    #include <stdlib.h>
    #include <strings.h>
    #include <pcap.h>
    #include <netinet/if_ether.h>
    #include <netinet/ip.h>
    #include <netinet/tcp.h>

    #include <vector>
    #include <algorithm>

  13. #13
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Salut,
    En fait, il te faut compiler la librairie...
    Tu dois en faire un .a .
    Ouvre un nouveau projet, de type Static library.
    Insère tous les fichiers .h et tous les .cpp de la librairie.
    Et tu compiles.
    Si tu vois des undefined reference to sock et tout, lie la librairie ws2_32

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Arf je vais jamais y arriver...
    Je crée un projet static library, j'y insère (bien dans le projet, bien sûr), tous les fichiers .h de la librairie.
    Le tout devrait faire une bonne centaine de Ko.

    Eh bien non, quand je compile, le résultat est de 8 octets :
    !<arch>

    J'ai beau essayer de comprendre la logique c++ là je suis vraiment dans l'incompréhension la plus totale

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Désolé de remonter ce topic, mais le problème n'a toujours pas été résolu.

    J'ai tout de même réussi à trouver cette fameuse librairie pcap !
    Mais il m'en manque encore une.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <netinet/if_ether.h>
    #include <netinet/ip.h>
    #include <netinet/tcp.h>
    Je ne sais absolument pas où trouver ces fichiers !
    J'ai bien essayé de les télécharger à part, mais eux mêmes contiennent des includes, ça n'en finit plus. Il est indéniable qu'il me faut la librairie.

    Mais je ne la trouve pas, quelqu'un aurait une idée ?
    J'ai déjà penché sur netlib, mais elle ne contient aucun de ces trois fichiers...
    Et de préférence compatible avec Dev-c++, contenant donc un fichier .a.

    J'vous remercie d'avance

  16. #16
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    moi je suis sous linux, donc je ne peux pas, mais : je viens de survoler ce topic, et apparemment tout ce qui interresse notre nouvel ami est d'utiliser ce petit prog... personne ne pourrait le compiler pour lui ? ca serait encore le plus simple...

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Effectivemment c'est ce qui m'intéresse, j'aurais pû dès le début demander à ce qu'on le fasse, mais je ne trouve pas ça très politiquement correct

    Si quelqu'un veut le compiler je suis bien sûr preneur.
    Mais au moins ça m'apprend pas mal de choses d'essayer de le faire ^^

  18. #18
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    ça ressemble fortement à quelque chose qui n'existe que sous unix-like.

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Par défaut
    Merci de l'info, et il n'y a pas moyen sous Windows ?

  20. #20
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    cygwin peut-être.

Discussions similaires

  1. Exécuter un script perl à partir de php
    Par ibtisss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 10/11/2005, 11h44
  2. Réponses: 9
    Dernier message: 25/10/2005, 14h23
  3. [FLASH MX2004] Exécution de script PHP
    Par dleu dans le forum Flash
    Réponses: 2
    Dernier message: 30/03/2005, 19h10
  4. Réponses: 1
    Dernier message: 23/02/2005, 11h23
  5. Exécuter un script SQL
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/03/2004, 08h47

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