La compilation séparé ne produit pas d'erreur, c'est à l'édition de lien
qu'il y à un problème.
Le message de gcc :
g++ -Wall -c Main.cc
g++ -Wall -c A.cc
g++ -Wall -c B.cc
g++ Main.o A.o B.o -o run
B.o(.text+0xd): In function `B::B[not-in-charge]()':
: undefined reference to `A<int>::A[not-in-charge]()'
B.o(.text+0x2d): In function `B::B[in-charge]()':
: undefined reference to `A<int>::A[not-in-charge]()'
B.o(.text+0x56): In function `B::~B [not-in-charge]()':
: undefined reference to `A<int>::~A [not-in-charge]()'
B.o(.text+0x90): In function `B::~B [in-charge]()':
: undefined reference to `A<int>::~A [not-in-charge]()'
B.o(.text+0xca): In function `B::~B [in-charge deleting]()':
: undefined reference to `A<int>::~A [not-in-charge]()'
collect2: ld returned 1 exit status
Remarquez que la methode foo(), redéfinie dans B, ne semble pas lui
poser de problème, ce sont les destructeur et les constructeurs qui le
chagrine.
| James Kanze writes: | | > drkm writes: | | [...] | | > |> Je n'arrive pas à voir le problème si on utilise les include | > |> guards qui vont bien. Y a-t-il réellement une contre-indication | > |> spécifique ? | | > C'est vrai qu'avec l'utilisation des gardes classiques, il ne doit pas y | > avoir de problème. Mais bon, le poster original n'en avait pas. Et je | > n'en ai jamais vu non plus dans le code que je maintiens. ^^^^^^^^^ | | Tiens. Je pensais que ce faisait partie du BABa. J'ai eu un doute, | et j'ai vérifié dans la gabi-lib, tu les utilises bien, Serge
mais il est probable que James ne maintient pas le code dans la gabi-lib. ;-)
-- Gaby
drkm <usenet.fclcxx@fgeorges.org> writes:
| James Kanze <kanze@gabi-soft.fr> writes:
|
| > drkm <usenet.fclcxx@fgeorges.org> writes:
|
| [...]
|
| > |> Je n'arrive pas à voir le problème si on utilise les include
| > |> guards qui vont bien. Y a-t-il réellement une contre-indication
| > |> spécifique ?
|
| > C'est vrai qu'avec l'utilisation des gardes classiques, il ne doit pas y
| > avoir de problème. Mais bon, le poster original n'en avait pas. Et je
| > n'en ai jamais vu non plus dans le code que je maintiens.
^^^^^^^^^
|
| Tiens. Je pensais que ce faisait partie du BABa. J'ai eu un doute,
| et j'ai vérifié dans la gabi-lib, tu les utilises bien, Serge
mais il est probable que James ne maintient pas le code dans la gabi-lib.
;-)
| James Kanze writes: | | > drkm writes: | | [...] | | > |> Je n'arrive pas à voir le problème si on utilise les include | > |> guards qui vont bien. Y a-t-il réellement une contre-indication | > |> spécifique ? | | > C'est vrai qu'avec l'utilisation des gardes classiques, il ne doit pas y | > avoir de problème. Mais bon, le poster original n'en avait pas. Et je | > n'en ai jamais vu non plus dans le code que je maintiens. ^^^^^^^^^ | | Tiens. Je pensais que ce faisait partie du BABa. J'ai eu un doute, | et j'ai vérifié dans la gabi-lib, tu les utilises bien, Serge
mais il est probable que James ne maintient pas le code dans la gabi-lib. ;-)
-- Gaby
kanze
drkm wrote in message news:...
James Kanze writes:
drkm writes:
[...]
|> Je n'arrive pas à voir le problème si on utilise les include |> guards qui vont bien. Y a-t-il réellement une contre-indication |> spécifique ?
C'est vrai qu'avec l'utilisation des gardes classiques, il ne doit pas y avoir de problème. Mais bon, le poster original n'en avait pas. Et je n'en ai jamais vu non plus dans le code que je maintiens.
Tiens. Je pensais que ce faisait partie du BABa.
Il y a certainement quelque chose qui s'est perdu dans mes pensées là. Évidemment, j'utilise réligieusement des gardes d'inclusion ; elles sont aussi présentes dans prèsque tout le code que je vois chez les clients, et dans les rares cas où elles manquent, je les ajoute.
Je suppose que je pensais en fait que je n'ai jamais vu le .cc qui contenait la définition des templates comporter un #include du .hh. Mais je ne suis plus sûr.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
drkm <usenet.fclcxx@fgeorges.org> wrote in message
news:<wkisf5uvy5.fsf@fgeorges.org>...
James Kanze <kanze@gabi-soft.fr> writes:
drkm <usenet.fclcxx@fgeorges.org> writes:
[...]
|> Je n'arrive pas à voir le problème si on utilise les include
|> guards qui vont bien. Y a-t-il réellement une contre-indication
|> spécifique ?
C'est vrai qu'avec l'utilisation des gardes classiques, il ne doit
pas y avoir de problème. Mais bon, le poster original n'en avait
pas. Et je n'en ai jamais vu non plus dans le code que je maintiens.
Tiens. Je pensais que ce faisait partie du BABa.
Il y a certainement quelque chose qui s'est perdu dans mes pensées là.
Évidemment, j'utilise réligieusement des gardes d'inclusion ; elles sont
aussi présentes dans prèsque tout le code que je vois chez les clients,
et dans les rares cas où elles manquent, je les ajoute.
Je suppose que je pensais en fait que je n'ai jamais vu le .cc qui
contenait la définition des templates comporter un #include du .hh. Mais
je ne suis plus sûr.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
|> Je n'arrive pas à voir le problème si on utilise les include |> guards qui vont bien. Y a-t-il réellement une contre-indication |> spécifique ?
C'est vrai qu'avec l'utilisation des gardes classiques, il ne doit pas y avoir de problème. Mais bon, le poster original n'en avait pas. Et je n'en ai jamais vu non plus dans le code que je maintiens.
Tiens. Je pensais que ce faisait partie du BABa.
Il y a certainement quelque chose qui s'est perdu dans mes pensées là. Évidemment, j'utilise réligieusement des gardes d'inclusion ; elles sont aussi présentes dans prèsque tout le code que je vois chez les clients, et dans les rares cas où elles manquent, je les ajoute.
Je suppose que je pensais en fait que je n'ai jamais vu le .cc qui contenait la définition des templates comporter un #include du .hh. Mais je ne suis plus sûr.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
kanze
Gabriel Dos Reis wrote in message news:...
mais il est probable que James ne maintient pas le code dans la gabi-lib. ;-)
Actuellement, en fait, non, et je ne sais pas combien de temps il serait encore disponible.
J'espère avoir une nouvelle site sous peu.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Gabriel Dos Reis <gdr@integrable-solutions.net> wrote in message
news:<m3zn8hff2j.fsf@uniton.integrable-solutions.net>...
mais il est probable que James ne maintient pas le code dans la
gabi-lib. ;-)
Actuellement, en fait, non, et je ne sais pas combien de temps il serait
encore disponible.
J'espère avoir une nouvelle site sous peu.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34