J'ai un petit problème avec un programme c++ que j'ai téléchargé sur le net.
Il concerne la liste chaînée. J'utilise VC++ . j'ai modifié au niveau des
options l'option en mettant :
Not Using Precompiled Headers : Not Using Precompiled Headers
qd je compile il m'affiche l'erreur suivante:
error LNK2019: unresolved external symbol _main referenced in function
_mainCRTStartup
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Dominique Vaufreydaz
Bonjour,
J'ai un petit problème avec un programme c++ que j'ai téléchargé sur le net. Il concerne la liste chaînée. J'utilise VC++ . j'ai modifié au niveau des options l'option en mettant : Not Using Precompiled Headers : Not Using Precompiled Headers qd je compile il m'affiche l'erreur suivante: error LNK2019: unresolved external symbol _main referenced in function _mainCRTStartup
Ca n'a rien a voir avec l'option sus citée : il te faut, pour ton programme console a priorio, une fonction main pour le lancement de ton programme (comme de la majorite des programme console sou windows ou Linux par exemple, bien que tu puisses en definir un autre pour rendre ton programme illisible...).
Debug/list.exe : fatal error LNK1120: 1 unresolved externals il faut dire que le programme est constitué de deux fichiers : list.cpp et list.h. si je garde l'option par défaut j'ai une autre erreur de type fatal error C1010: unexpected end of file while looking for precompiled header directive Ensuite j'ai recopier le list.h ds le list.cpp pour éviter de faire référence à un fichier externe j'ai eu le même message. Avez vous une idée?
Les precompiled header sont place dans le fichier stdafx.h et stdafx.cpp (enfin surtout le .h) et donc si tu actives cette option tu dois avoir de tel fichier dans ton projet (ce qu'avait du faire VC++ en le creant automatiquement) et surtout tous les .cpp doivent inclure ce fichier en faisant un #include.
Encore une fois, ce n'est pas obligatoire mais conseille.
Doms. -- Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront. René Char, Les Matinaux. ---- http://Dominique.Vaufreydaz.free.fr/ http://TitchKaRa.free.fr/ http://logiciels.ntfaqfr.com/
Bonjour,
J'ai un petit problème avec un programme c++ que j'ai téléchargé sur le net.
Il concerne la liste chaînée. J'utilise VC++ . j'ai modifié au niveau des
options l'option en mettant :
Not Using Precompiled Headers : Not Using Precompiled Headers
qd je compile il m'affiche l'erreur suivante:
error LNK2019: unresolved external symbol _main referenced in function
_mainCRTStartup
Ca n'a rien a voir avec l'option sus citée : il te faut, pour ton programme
console a priorio, une fonction main pour le lancement de ton programme
(comme de la majorite des programme console sou windows ou Linux
par exemple, bien que tu puisses en definir un autre pour rendre ton
programme illisible...).
Debug/list.exe : fatal error LNK1120: 1 unresolved externals
il faut dire que le programme est constitué de deux fichiers : list.cpp et
list.h.
si je garde l'option par défaut j'ai une autre erreur de type
fatal error C1010: unexpected end of file while looking for precompiled
header directive
Ensuite j'ai recopier le list.h ds le list.cpp pour éviter de faire
référence à un fichier externe j'ai eu le même message.
Avez vous une idée?
Les precompiled header sont place dans le fichier stdafx.h
et stdafx.cpp (enfin surtout le .h) et donc si tu actives cette option
tu dois avoir de tel fichier dans ton projet (ce qu'avait du faire
VC++ en le creant automatiquement) et surtout tous les .cpp
doivent inclure ce fichier en faisant un #include.
Encore une fois, ce n'est pas obligatoire mais conseille.
Doms.
--
Impose ta chance, serre ton bonheur et va vers ton risque.
A te regarder, ils s'habitueront.
René Char, Les Matinaux.
----
http://Dominique.Vaufreydaz.free.fr/
http://TitchKaRa.free.fr/
http://logiciels.ntfaqfr.com/
J'ai un petit problème avec un programme c++ que j'ai téléchargé sur le net. Il concerne la liste chaînée. J'utilise VC++ . j'ai modifié au niveau des options l'option en mettant : Not Using Precompiled Headers : Not Using Precompiled Headers qd je compile il m'affiche l'erreur suivante: error LNK2019: unresolved external symbol _main referenced in function _mainCRTStartup
Ca n'a rien a voir avec l'option sus citée : il te faut, pour ton programme console a priorio, une fonction main pour le lancement de ton programme (comme de la majorite des programme console sou windows ou Linux par exemple, bien que tu puisses en definir un autre pour rendre ton programme illisible...).
Debug/list.exe : fatal error LNK1120: 1 unresolved externals il faut dire que le programme est constitué de deux fichiers : list.cpp et list.h. si je garde l'option par défaut j'ai une autre erreur de type fatal error C1010: unexpected end of file while looking for precompiled header directive Ensuite j'ai recopier le list.h ds le list.cpp pour éviter de faire référence à un fichier externe j'ai eu le même message. Avez vous une idée?
Les precompiled header sont place dans le fichier stdafx.h et stdafx.cpp (enfin surtout le .h) et donc si tu actives cette option tu dois avoir de tel fichier dans ton projet (ce qu'avait du faire VC++ en le creant automatiquement) et surtout tous les .cpp doivent inclure ce fichier en faisant un #include.
Encore une fois, ce n'est pas obligatoire mais conseille.
Doms. -- Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront. René Char, Les Matinaux. ---- http://Dominique.Vaufreydaz.free.fr/ http://TitchKaRa.free.fr/ http://logiciels.ntfaqfr.com/
Manuel Leclerc
J. KHOURY a écrit :
[...]
qd je compile il m'affiche l'erreur suivante:
error LNK2019: unresolved external symbol _main referenced in function _mainCRTStartup
[...]
il faut dire que le programme est constitué de deux fichiers : list.cpp et list.h.
Ce que tu as récupéré, ce n'est peut être pas un programme, mais simplement le source d'une classe.
Peux-tu nous en dire un peu plus sur ce que tu veux faire et pourquoi tu as été prendre ces deux fichiers ?
J. KHOURY a écrit :
[...]
qd je compile il m'affiche l'erreur suivante:
error LNK2019: unresolved external symbol _main
referenced in function _mainCRTStartup
[...]
il faut dire que le programme est constitué de
deux fichiers : list.cpp et list.h.
Ce que tu as récupéré, ce n'est peut être pas un
programme, mais simplement le source d'une classe.
Peux-tu nous en dire un peu plus sur ce que tu veux
faire et pourquoi tu as été prendre ces deux fichiers ?
> [...] > > qd je compile il m'affiche l'erreur suivante: > > error LNK2019: unresolved external symbol _main > referenced in function _mainCRTStartup > > [...] > > il faut dire que le programme est constitué de > deux fichiers : list.cpp et list.h.
Ce que tu as récupéré, ce n'est peut être pas un programme, mais simplement le source d'une classe.
Peux-tu nous en dire un peu plus sur ce que tu veux faire et pourquoi tu as été prendre ces deux fichiers ?
voici les deux fichiers list.cpp et list.h
le fichier list.cpp
#include "list.h"
template <class ElementType>
void
List<ElementType>::
Delete( )
{
Node *P = Head->Next, *Tmp;
while( P != NULL ) {
Tmp = P->Next;
delete P;
P = Tmp;
}
delete Head;
}
// Avance le pointeur Current.
template <class ElementType>
inline const List<ElementType> &
List<ElementType>::
operator ++ ( )
{
if( Current != NULL )
Current = Current->Next;
return *this;
}
// Retrouve l'element pointe par Current.
// La valeur retrournee est indefinie si
// Current est NULL.
template <class ElementType>
inline const ElementType &
List<ElementType>::
operator () ( ) const
{
if( Current != NULL )
return Current->Element;
else
return Head->Element;
}
// Verifie si Current est non NULL.
template <class ElementType>
inline int
List<ElementType>::
operator ! ( ) const
{
return Current != NULL;
}
// Retourn TRUE et met Current a l'element cherche
// s'il est present.
template <class ElementType>
inline int
List<ElementType>::
Find( const ElementType &X )
{
Node *P;
for( P = Head->Next; P != NULL; P = P->Next )
if( P->Element == X ) {
Current = P;
return 1;
}
return 0;
}
// Retourne TRUE et met Current sur l'element
// qui precede X si present.
template <class ElementType>
inline int
List<ElementType>::
Previous( const ElementType &X )
{
Node *P;
for( P = Head->Next; P->Next != NULL; P = P->Next )
if( P->Next->Element == X ) {
Current = P;
return 1;
}
return 0;
}
// Insere l'element X apres l'element pointe par Current.
template <class ElementType>
void
List<ElementType>::
Insert( const ElementType &X )
{
Node *P = new Node( X, Current->Next );
if( P == NULL )
cout << "Out of space!" << endl;
else {
Current->Next = P;
Current = Current->Next;
}
}
// Retire X de la list.
// Retourne TRUE si succes.
template <class ElementType>
int
List<ElementType>::
Remove( const ElementType &X )
{
Node *ToDelete;
if( Previous( X ) ) {
ToDelete = Current->Next;
Current->Next = ToDelete->Next;
delete ToDelete;
return 1;
}
return 0;
}
// Replication d'une liste.
// Les pointeurs Current des deux listes
// pointent sur leur premier element.
template <class ElementType>
const List<ElementType> &
List<ElementType>::
operator = ( List<ElementType> &Value )
{
if( this == &Value ) // On ne se recopie pas!
return *this;
Delete(); // On delete la liste a affectee.
Current = Head = new Node;
for( Value.First(); !Value; ++Value ) {
Current->Next = new Node( Value(), Current->Next );
Current = Current->Next;
}
Current->Next = NULL;
First();
Value.First();
return *this;
}
le fichier list.h
#ifndef _List_
#define _List_
template <class ElementType>
class List
{
protected:
// Structure pour une liste chainee avec
// un noeud initial "bidon".
struct Node {
ElementType Element;
Node *Next;
Node( ElementType E = 0, Node *N = NULL ):
Element( E ), Next( N ) {}
};
Node *Head;
Node *Current;
void Delete( );
List( List &Value );
public:
// Constructeur.
List( ) : Head( new Node ), Current( Head ) {}
// Destructeur.
virtual ~List( ) { Delete( ); }
// Operateurs et operations.
const List &operator = ( List &Value );
const List &operator ++ ( );
int operator ! ( ) const;
const ElementType &operator () ( ) const;
int Empty ( ) const
{ return Head -> Next == NULL; }
void First ( )
{ if( Head->Next != NULL ) Current = Head->Next; }
"Manuel Leclerc" <manuel.leclerc@alussinan.org> a écrit dans le message de
news:40333542@neottia.net...
J. KHOURY a écrit :
> [...]
>
> qd je compile il m'affiche l'erreur suivante:
>
> error LNK2019: unresolved external symbol _main
> referenced in function _mainCRTStartup
>
> [...]
>
> il faut dire que le programme est constitué de
> deux fichiers : list.cpp et list.h.
Ce que tu as récupéré, ce n'est peut être pas un
programme, mais simplement le source d'une classe.
Peux-tu nous en dire un peu plus sur ce que tu veux
faire et pourquoi tu as été prendre ces deux fichiers ?
> [...] > > qd je compile il m'affiche l'erreur suivante: > > error LNK2019: unresolved external symbol _main > referenced in function _mainCRTStartup > > [...] > > il faut dire que le programme est constitué de > deux fichiers : list.cpp et list.h.
Ce que tu as récupéré, ce n'est peut être pas un programme, mais simplement le source d'une classe.
Peux-tu nous en dire un peu plus sur ce que tu veux faire et pourquoi tu as été prendre ces deux fichiers ?
François Müller
"J. KHOURY" escribió en el mensaje news:4033c7d7$0$28136$ | voici les deux fichiers list.cpp et list.h |
C'est un troll ? ;-))
Tu ne vois pas que tu n'as pas de fonction main dans tes sources ?
F.
"J. KHOURY" <jkhoury@free.fr> escribió en el mensaje
news:4033c7d7$0$28136$636a15ce@news.free.fr...
| voici les deux fichiers list.cpp et list.h
|
C'est un troll ? ;-))
Tu ne vois pas que tu n'as pas de fonction main dans tes sources ?
"J. KHOURY" escribió en el mensaje news:4033c7d7$0$28136$ | voici les deux fichiers list.cpp et list.h |
C'est un troll ? ;-))
Tu ne vois pas que tu n'as pas de fonction main dans tes sources ?
F.
adebaene
"J. KHOURY" wrote in message news:<4033c7d7$0$28136$...
voici les deux fichiers list.cpp et list.h
<snip>
C'est juste une classe de manipulation deliste : il n' y a pas de main (point d'entrée de ton programme). Tu es censé utiliser cette classe dans un programme, elle n'est pas auto-suffisante.
Arnaud
"J. KHOURY" <jkhoury@free.fr> wrote in message news:<4033c7d7$0$28136$636a15ce@news.free.fr>...
voici les deux fichiers list.cpp et list.h
<snip>
C'est juste une classe de manipulation deliste : il n' y a pas de main
(point d'entrée de ton programme). Tu es censé utiliser cette classe
dans un programme, elle n'est pas auto-suffisante.
"J. KHOURY" wrote in message news:<4033c7d7$0$28136$...
voici les deux fichiers list.cpp et list.h
<snip>
C'est juste une classe de manipulation deliste : il n' y a pas de main (point d'entrée de ton programme). Tu es censé utiliser cette classe dans un programme, elle n'est pas auto-suffisante.