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 :

Compilation gcc avec upnp


Sujet :

C

  1. #1
    Membre régulier Avatar de YuGiOhJCJ
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 206
    Points : 114
    Points
    114
    Par défaut Compilation gcc avec upnp
    Bonjour,
    je suis sous le système d'exploitation Slackware 10.2.
    J'ai besoin pour un projet universitaire de compiler un programme écrit en C et utilisant upnp.

    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
    13
    14
    15
    16
     
    #include "inc/upnp.h"
     
    int main(){
     
    	//Initialisation de UPnP
    	int ret;
    	const char *ipaddress;
    	unsigned short port;
    	if((ret = UpnpInit(ipaddress, port)) != UPNP_E_SUCCESS){
    		SampleUtil_Print("", ret);
    		UpnpFinish();
    		return ret;
    	}
    	return 0;
    }
    Je compile:
    $ gcc serveur.c
    /tmp/cc71OHGm.o(.text+0x21): In function `main':
    : undefined reference to `UpnpInit'
    /tmp/cc71OHGm.o(.text+0x3d): In function `main':
    : undefined reference to `SampleUtil_Print'
    /tmp/cc71OHGm.o(.text+0x45): In function `main':
    : undefined reference to `UpnpFinish'
    collect2: ld a retourné 1 code d'état d'exécution

    Je pense qu'il me manque des arguments pour la commande gcc mais je ne sais pas lesquels.
    J'ai regardé la doc officielle et je n'y trouve rien concernant les commandes de compilation avec gcc(http://upnp.sourceforge.org).

    Merci de m'aider

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Probleme d'edition de lien. Tu dois avoir la bibliotheque libupnp[.a/.so, .lib/.dll] quelque part.
    Tu dois donc dire a gcc quelle bibliotheque il doit ajouter:
    et ou elle se trouve:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    -L/path/to/this/lib

  3. #3
    Membre régulier Avatar de YuGiOhJCJ
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 206
    Points : 114
    Points
    114
    Par défaut
    Oui c'est probablement ça.
    Par contre dans l'archive upnp téléchargée il n'y a que des .c et .h...Je me demande si je ne dois pas compiler la librairie à partir des sources de l'archive...Mais il y a tellement de makefile et de répertoires que je ne sais pas quoi faire...
    Si ça se trouve, elle se télécharge séparément...Sur le site il y a une autre archive qui s'appelle libupnp.
    Je vais essayer un peu tout ça et je reviens vous dire si ça a marché...

  4. #4
    Membre du Club Avatar de Raiden
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 55
    Points : 65
    Points
    65
    Par défaut
    Ouep , tu dois la compiler d'abords , avant meme de pouvoir l'utiliser . Ensuite , suffit de la linker a ton projet
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  5. #5
    Membre régulier Avatar de YuGiOhJCJ
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 206
    Points : 114
    Points
    114
    Par défaut
    effectivement problème résolu :-)
    Il suffit de faire un 'make' et 'make install' dans le dossier de l'archive.
    Ca créé les fichiers headers et libraries dans:
    /usr/local/inlude
    et
    /usr/local/lib

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut projet dlna
    Bonjour, je travaille actuellement sur un projet dlna pour mon stage de fin d'études.
    Je dispose d'une carte atmel evk1105, de l'IDE AVR32 Studio, langage C et je travaille sous windows XP. Et je dois donc voir si le dlna est possible avec cette carte.
    Le but est de lire un fichier audio présent sur le serveur DLNA installé sur le PC.
    Je pense qu'en incluant un protocole ssdp et un client upnp sur la carte, je verrais si le seveur et la carte se "voient" par le dlna via ethernet.

    Avez-vous déjà réalisé des travaux de ce genre?
    Je recherche donc du code upnp et des librairies, pouvez m'aidez?

    Merci beaucoup

  7. #7
    Membre régulier Avatar de YuGiOhJCJ
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 206
    Points : 114
    Points
    114
    Par défaut
    Sous Linux, en langage C, si tu veux transformer un PC en un serveur UPnP, tu peux utiliser cette bibliothèque :
    http://upnp.sourceforge.net/
    Elle inclue une documentation PDF que je trouve bien faite.

    Voici un petit exemple de code qui créé un serveur UPnP :

    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
     
    #include <upnp/upnp.h>
    int main()
    {
    	int ret               = -1;      /* Return value */
    	const char *ipaddress = NULL;    /* Server IP address (the first) */
    	unsigned short port   = 0;       /* Server port (random) */
    	char web_dir_path[]   = "./web"; /* Path to the web directory */
    	/* Initialize UPnP */
    	if((ret = UpnpInit(ipaddress, port)) != UPNP_E_SUCCESS)
    	{
      		fprintf(stderr, "Error with UpnpInit -- %d\n", ret);
    		UpnpFinish();
    		return(ret);
    	}
    	/* Set the root directory */
    	if((ret = UpnpSetWebServerRootDir( web_dir_path )) != UPNP_E_SUCCESS)
    	{
    		fprintf(stderr, "Error specifying webserver root directory -- %s: %d\n", web_dir_path, ret);
    		UpnpFinish();
    		return ret;
    	}
    	ipaddress = UpnpGetServerIpAddress();
    	port      = UpnpGetServerPort();
    	fprintf(stdout, "UPnP Initialized (%s:%d)\n", ipaddress, port); 
    	fprintf(stdout, "Path to the web directory : %s\n", web_dir_path);
    	fprintf(stdout, "Push the Enter key to exit.\n");
    	getchar();
    	fprintf(stdout, "Exit.\n");
    	UpnpFinish();
    	return(0);
    }
    Après, je ne suis pas allé plus loin que cela en UPnP. Sous Windows, il doit probablement exister une bibliothèque équivalente... J'espère que tu trouveras de l'aide ;-)

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

Discussions similaires

  1. Problème de compilation gcc avec SDL
    Par Ryzen dans le forum SDL
    Réponses: 1
    Dernier message: 08/01/2015, 18h04
  2. Compilation gcc avec des structures
    Par gregory2526 dans le forum Fortran
    Réponses: 10
    Dernier message: 13/03/2013, 15h59
  3. compiler .dsw avec GNU GCC
    Par haythem_rjeb dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 03/03/2009, 20h11
  4. Compilation C avec Vs 2008 + Compilation Gcc
    Par Olyc3 dans le forum Débuter
    Réponses: 4
    Dernier message: 17/09/2008, 23h53

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