Salut,
De prime abord, si la compilation est sensée se dérouler correctement sans avoir effectivement inclus le fichier d'en-tête de boost::shared_ptr, c'est que le dit fichier (ou l'un des fichiers qui l'inclus de manière directe ou indirecte) est sensé être inclus directement par la commande de compilation.
Il ne serait d'ailleurs pas exclu qu'il existe un fichier d'en-tête quelconque incluant toute une série de fichiers (ceux de la STL ) dont boost/shared_ptr.hpp et définissant, pourquoi pas, une api d'exportation pour dll ( UNE_DLL_API )
Si tu ne veux pas modifier le fichier en question (ce que je peux comprendre), il faut donc que tu ajoute à la commande de compilation soit l'inclusion du fichier manquant de boost soit l'inclusion de ce fichier dans lequel toutes les inclusions "externes" sont effectuées.
Sous Gcc, cela se traduirait par l'ajout de
-iboost/shared_ptr.hpp /* ou -ifichier_api.hpp */
(où fichier_api.hpp est le fichier d'en-tête dont je parle depuis le début ) à la commande g++
Partager