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 :

aide pour utiliser GNU common C++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    D�tails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par d�faut aide pour utiliser GNU common C++
    voila tous est dans le titre je voudrai savoir quels parametres passer au compilateur(g++) pour pouvoir compiler des projet utilisant "GNU common C++"?
    mais aussi comment integrer la lib a code::blocks. merci
    note:
    j'aimerai aussi avoir votre avis sur les differentes classe TTYstream,ttystream,et serial.laquel utilise?les avantages et les incoviniant de chacune.
    merci.

  2. #2
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Normalement, il va "suffire" de pr�ciser au compilateur le dossier dans lequel aller chercher les fichiers d'en-t�te avec le parametre -I (i majuscule) et d'indiquer � l'�diteur de liens dans quel dossier il trouvera la biblioth�que avec le param�tre -L ainsi que la biblioth�que � utiliser avec le param�tre -l (L minuscule), en omettant le "lib" du pr�fixe et le ".a" du suffixe

    Cela pourrait prendre la forme de (en consid�rant que la biblioth�que s'appelle libcommonc++.a)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    g++ -c fichier.cpp -I /dossier/ou/se/trouvent/les/en-tete -L/dossier/ou/se/trouve/la/lib -lcommonc++
    Si, comme je le pense, le but de la deuxi�me question est de savoir comment fournir ces informations � CB, tu peux - selon le cas:

    1. indiquer les chemins pour tous les projets que tu va cr�er en:
      • Passant par le menu "settings->compiler and debugger"
      • Ajoutant "commonc++" (meme convention que plus haut) dans l'onglet "linker settings"
      • Ajoutant le chemin d'acc�s (juste le dossier) vers les en-t�te dans l'onglet "search directories", sous onglet "compiler"
      • Ajoutant le chemin d'acc�s (juste le dossier) vers la biblioth�que dans l'onglet "search directories", sous onglet "linker"
    2. indiquer les chemin pour le projet en cours, en ajoutant les m�mes informations, mais en passant par le menu "Project->build option".

      Tu aura alors le choix de personnaliser les informations en fonction des cibles: nom_du_projet s'appliquant � toutes les cibles issues du projet, les autres ne s'appliquant qu'aux "cibles interm�diaires".

      Il sera donc possible de choisir la version "debug" de la biblioth�que pour une cible particuli�re, et la version "relase" pour l'autre
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    D�tails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par d�faut
    voila les erreurs que j'ai en compilant un petit projet qui cr�e un on objet ttystream.
    ||=== tty, Debug ===|
    /usr/include/c++/4.2/bits/stringfwd.h|48|erreur: patron avec liaison C|
    /usr/include/c++/4.2/bits/stringfwd.h|51|erreur: patron avec liaison C|
    /usr/include/c++/4.2/bits/stringfwd.h|54|erreur: patron avec liaison C|
    /usr/include/c++/4.2/bits/stringfwd.h|58|erreur: sp�cialisation de patron avec �dition de liens C|
    /usr/include/c++/4.2/bits/stringfwd.h|63|erreur: sp�cialisation de patron avec �dition de liens C|
    /usr/include/c++/4.2/cstring|80|erreur: �::memcpy� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|81|erreur: �::memmove� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|82|erreur: �::strcpy� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|83|erreur: �::strncpy� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|84|erreur: �::strcat� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|85|erreur: �::strncat� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|86|erreur: �::memcmp� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|87|erreur: �::strcmp� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|88|erreur: �::strcoll� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|89|erreur: �::strncmp� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|90|erreur: �::strxfrm� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|91|erreur: �::strcspn� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|92|erreur: �::strspn� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|93|erreur: �::strtok� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|94|erreur: �::memset� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|95|erreur: �::strerror� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|96|erreur: �::strlen� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|98|erreur: �::memchr� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring||In function �void* std::memchr(void*, int, size_t)�
    /usr/include/c++/4.2/cstring|102|erreur: invalid conversion from �const void*� to �void*�|
    /usr/include/c++/4.2/cstring|102|erreur: initializing argument 1 of �void* std::memchr(void*, int, size_t)�|
    /usr/include/c++/4.2/cstring|104|erreur: �::strchr� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|110|erreur: �::strpbrk� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|116|erreur: �::strrchr� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/cstring|122|erreur: �::strstr� n'a pas �t� d�clar�|
    /usr/include/c++/4.2/bits/postypes.h|80|erreur: patron avec liaison C|
    /usr/include/c++/4.2/bits/postypes.h|94|erreur: patron avec liaison C|
    /usr/include/c++/4.2/bits/postypes.h|197|erreur: patron avec liaison C|
    /usr/include/c++/4.2/bits/postypes.h|202|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|54|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|57|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|60|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|63|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|66|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|69|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|73|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|77|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|81|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|85|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|88|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|91|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|94|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|97|erreur: patron avec liaison C|
    /usr/include/c++/4.2/iosfwd|100|erreur: patron avec liaison C|
    /usr/include/c++/4.2/bits/stl_pair.h|67|erreur: patron avec liaison C|
    /usr/include/c++/4.2/bits/stl_pair.h|94|erreur: patron avec liaison C|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build finished: 50 errors, 0 warnings ===|
    note: j'ai indiqu� le dossier ou trouver les includes au comilateur.d

  4. #4
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    peux tu indiquer quelle commande tu as effectivement �crite pour ta compilation
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    D�tails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par d�faut
    oui bien sur donc c g++ -I /usr/include/cc++/ main.c
    je suis sous ubuntu 8.04 et j'ai install� la lib via les paquets . voici mon code test aussi.
    #include <common.h>
    #include <serial.h>

    using namespace ost;

    int main()
    {
    ttystream picstream("/dev/ttyACM0:9600,7,e,1");
    return 0;
    }

  6. #6
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    cela va te parraitre dingue, mais, renomme ton fichier en main.cpp...

    En effet, classiquement, les fichiers en *.c sont compil�s avec... le compilateur C (gcc) et non avec le compilateur C++ (g++), m�me si c'est ce dernier qui est invoqu�

    Et, comme tu t'en doute, les template et autres namespace ne sont que tr�s mal support�s par les compilateurs C
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  7. #7
    Expert confirm�

    Inscrit en
    Novembre 2005
    Messages
    5 145
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par d�faut
    Citation Envoy� par dillinger91 Voir le message
    oui bien sur donc c g++ -I /usr/include/cc++/ main.c
    je suis sous ubuntu 8.04 et j'ai install� la lib via les paquets . voici mon code test aussi.
    Il faut include <cc++/...> et pas jouer avec -I pour �viter de pr�ciser le r�pertoire: la lib fournit entre autre un entete string.h qui replace l'entete standard du C quand tu essaies avec les effets que tu as vu.

    Citation Envoy� par koala01 Voir le message
    cela va te parraitre dingue, mais, renomme ton fichier en main.cpp...

    En effet, classiquement, les fichiers en *.c sont compil�s avec... le compilateur C (gcc) et non avec le compilateur C++ (g++), m�me si c'est ce dernier qui est invoqu�

    Et, comme tu t'en doute, les template et autres namespace ne sont que tr�s mal support�s par les compilateurs C
    On n'aurait pas eu des messages d'erreurs qui indiquent que les templates ont ete reconnu comme tel. g++ compile bien un fichier .c comme du C++ (c'est une des deux grosses differences entre gcc et g++ comme driver, l'autre �tant l'utilisation d'office des biblioth�ques standard du C++ au moment du link). L'usage de .c comme extension pour le C++ est beaucoup moins r�pandue (pour dire, je ne le croyais plus utilis� en dehors de projets ayant une longue histoire) qu'avant, mais pas totalement inexistante.

  8. #8
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    D�tails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par d�faut
    j'ai chang� le nom des includes et aussi le parametre -I.donc sa devient #include<cc++/serial.h>
    et la c bon les erreurs en disparu. donc merci par contre si quelqu'un pouvait me fournir quelques examples sur l'itilisation des diferentes classes tty(TTYStream,ttystream,serial ......).
    sa serai simpa.mais bon je pense qu'il serai judicieux de faire un autre poste.
    merci je marque comme clos.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Besoin d'aide pour utiliser RSA
    Par AsmCode dans le forum S�curit�
    R�ponses: 1
    Dernier message: 26/08/2007, 19h11
  2. aide pour utilisation group by
    Par rlnd23 dans le forum Langage SQL
    R�ponses: 8
    Dernier message: 22/10/2006, 00h54
  3. Demande d'aide pour utilisation d'un QuickReport
    Par altadeos dans le forum C++Builder
    R�ponses: 4
    Dernier message: 05/05/2006, 07h12
  4. de l'aide pour utiliser XSLT
    Par Diallos dans le forum XSL/XSLT/XPATH
    R�ponses: 2
    Dernier message: 16/01/2006, 15h55
  5. Besoin d'aide pour utilisation des trie
    Par bluecurve dans le forum Langage
    R�ponses: 4
    Dernier message: 29/11/2005, 08h04

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