J'ai une classe abstraite ordinaire qui possède quelques méthodes virtuelles pures. La classe elle-même fait partie de la bibliothèque partagée. La compilation de la bibliothèque partagée elle-même est OK. Mais quand la bibliothèque est liée à un autre programme qui a une autre classe dérivant de l'abstraite dans la bibliothèque partagée et définissant les méthodes virtuelles pures, j'obtiens l'erreur de lien suivante.Classes abstraites dans la bibliothèque partagée
Je compilez comme ça ..:
g++ -I../path/to/the/library main.cpp derived.cpp -L../path/to/the/library -lsomename -o shared
L'erreur de liaison est:
libsomename.so: undefined reference to `AbstractClass :: méthode() »
C'est comme si la classe abstraite ne pouvait pas accéder à ses méthodes virtuelles pures, mais je n'essaie pas de faire n'importe quelle instance de la classe abstraite n'importe où dans la bibliothèque.
Quel pourrait être le problème?
tout fait de cette façon depuis le début ... – JTom
pouvez-vous poster le code qui vous donne l'erreur que s'il vous plaît. – Lodle