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 code source


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    137
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par d�faut Compilation code source
    Bonjour je suis en train d'essayer de compiler un code source mais j'ai des problemes lors de la compilation que je comprends pas le code a �t� d�velopp� sous VC et je l'ai adapt� sous linux.

    Voici le message d'erreur

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    g++ -c Analysis.cpp -o Analysis.o
    Analysis.cpp: In function 'void DiscardMotif()':
    Analysis.cpp:108: error: no match for 'operator=' in 'MotifIter = MotifMap. std::map<_Key, _Tp, _Compare, _Alloc>::erase [with _Key = int, _Tp = MotifItem_t, _Compare = std::less<int>, _Alloc = std::allocator<std::pair<const int, MotifItem_t> >](MotifIter)'
    /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:152: note: candidates are: std::_Rb_tree_iterator<std::pair<const int, MotifItem_t> >& std::_Rb_tree_iterator<std::pair<const int, MotifItem_t> >::operator=(const std::_Rb_tree_iterator<std::pair<const int, MotifItem_t> >&)
    Analysis.cpp: In function 'void UniqueMotif()':
    Analysis.cpp:126: error: no match for 'operator=' in 'Next = MotifMap. std::map<_Key, _Tp, _Compare, _Alloc>::erase [with _Key = int, _Tp = MotifItem_t, _Compare = std::less<int>, _Alloc = std::allocator<std::pair<const int, MotifItem_t> >](Next)'
    /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:152: note: candidates are: std::_Rb_tree_iterator<std::pair<const int, MotifItem_t> >& std::_Rb_tree_iterator<std::pair<const int, MotifItem_t> >::operator=(const std::_Rb_tree_iterator<std::pair<const int, MotifItem_t> >&)
    make: *** [Analysis.o] Error 1
    Merci de votre aide

  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,

    En gros, il se plaint du fait qu'il n'y a pas d'op�rateur d'affectation...

    Il te signale que ce l'op�rateur d'affectation possible passe par un it�rateur de type std::pair.

    Visiblement, si on en croit les renseignements donn�s, tu essaie de supprimer une entr�e dans un tableau associatif de type std::map<int, MotifItem_t>.

    La fonction erase de la std::map utilise un it�rateur, et il est donc vraissemblable que tu doive disposer d'un it�rateur sur l'�l�ment � supprimer:
    • Soit en tant que membre de ta classe
    • Soit fournis comme param�tre � ta fonction
    • Soit recherch� dans la fonction sur base d'une cl� fournie en param�tre de la fonction


    PS: Il aurait �t� beaucoup plus facile pour tout le monde si tu avais fournis le code des fonctions incrimin�es, � savoir DiscardMotif et UniqueMotif
    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 confirm�
    Inscrit en
    Mars 2005
    Messages
    137
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par d�faut
    pas de probleme les voici :

    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
    33
    34
     
    void DiscardMotif()
    {
    	map<int,MotifItem_t>::iterator MotifIter;
    	bool bAdd;
     
    	for(MotifIter=MotifMap.begin();MotifIter!=MotifMap.end();bAdd?MotifIter++:MotifIter)
    	{
    		bAdd=false;
    		if((int)(unsigned int)(*MotifIter).second.ProteinID.size()<Motif_MemberSize)
    			MotifIter = MotifMap.erase(MotifIter);
    		else
    			bAdd=true;
    	}
    }
     
    void UniqueMotif()
    {
    	map<int, MotifItem_t>::iterator MotifIter, Next;
    	bool bAdd;
     
    	for(MotifIter=MotifMap.begin();MotifIter!=MotifMap.end();MotifIter++)
    	{
    		Next=MotifIter;
    		for(++Next;Next!=MotifMap.end();bAdd?Next++:Next)
    		{
    			bAdd=false;
    			if((*MotifIter).second.ProteinID==(*Next).second.ProteinID && (*MotifIter).second.ProteinPos[0]==(*Next).second.ProteinPos[0])
    				Next=MotifMap.erase(Next);
    			else
    				bAdd=true;
    		}
    	}
    }

  4. #4
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    137
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par d�faut
    j'ai enlev� "MotifIter =" dans la premi�re et "Next=" et il rale plus

  5. #5
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    137
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par d�faut
    par contre lors de la compilation en verufuant les bugs un par un j'ai obtenu �a comme message d'erreur


    g++ -c Analysis.cpp -o Analysis.o
    g++ -c MotifFinding5.cpp -o MotifFinding5.o
    g++ -c ReadProteinFile.cpp -o ReadProteinFile.o
    g++ -c stdafx.cpp -o stdafx.o
    g++ -c SubstitutionMatrix.cpp -o SubstitutionMatrix.o
    g++ -c Tools.cpp -o Tools.o
    g++ -o motif Analysis.o MotifFinding5.o ReadProteinFile.o stdafx.o SubstitutionMatrix.o Tools.o -g -g -lm -L blosum.h blosum62.h stdafx.h structure.h
    /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o: In function `_start':
    (.text+0x20): undefined reference to `main'
    collect2: ld returned 1 exit status
    make: *** [motif] Error 1

  6. #6
    Membre confirm�
    Inscrit en
    Mars 2005
    Messages
    137
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 137
    Par d�faut
    j'ai trouv� le probl�me.

    Merci tout de meme de votre message

Discussions similaires

  1. compiler code source de trueCrypt
    Par boubounagh dans le forum Visual C++
    R�ponses: 1
    Dernier message: 02/10/2012, 19h12
  2. compiler code source BIRT 4.0
    Par maatrihard dans le forum BIRT
    R�ponses: 0
    Dernier message: 30/06/2012, 20h28
  3. Ouvrir .vcproj, compiler codes sources
    Par Lyth_o dans le forum Visual Studio
    R�ponses: 3
    Dernier message: 06/11/2011, 18h46
  4. compiler code source en "interne"
    Par kespy13 dans le forum G�n�ral Java
    R�ponses: 5
    Dernier message: 30/04/2008, 14h46
  5. probleme compilation code source sur autre pc
    Par milach dans le forum Visual C++
    R�ponses: 1
    Dernier message: 18/04/2008, 09h06

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