J'essaie d'utiliser la fonction boost :: filesystem :: exists. Lorsque j'essaie de lier, je reçoisImpossible de lier lors de l'utilisation de boost :: filesystem
/usr/local/include/boost/filesystem/operations.hpp:289: undefined reference to `boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)'
erreur.
J'ai effectué une recherche Google pendant un certain temps et trouvé uniquement des réponses «lien-avec-boost». Dans mon cas -lboost_system et -lboost_filesystem spécifié pour linker, mais cela ne semble pas fonctionner. En fait, je peux utiliser boost :: filesytem :: path (par exemple), mais quand j'essaie d'utiliser quoi que ce soit, ce qui nécessite un en-tête boost/filesystem.hpp, j'obtiens des erreurs de liens. Des idées?
P.S. J'utilise gcc-4.6.4 et boost lib installé à partir de repos, mais je suppose que gcc-4.6.4 est la version par défaut de gcc pour mon ubuntu 12.04. Je suppose que je n'ai pas besoin de compiler boost de la source?
Merci, amdn. Vous m'avez conduit à la solution. Il y a deux ensembles de fichiers de bibliothèque boost dans mon système:/usr/lib et/usr/local/lib. Par défaut/usr/lib est utilisé. Donc ce qui a fonctionné pour moi est de spécifier l'option -L/usr/local/lib de l'éditeur de liens. S'il vous plaît, éditez votre réponse en fonction de mon commentaire, afin que je puisse l'accepter. – Roman
@Farrel Glad ma réponse a été utile ... je ne sais pas exactement comment vous souhaitez que j'inclue la solution qui a fonctionné pour vous ... devrait-il être une autre alternative ou suggériez-vous que je supprime la référence à LD_LIBRARY_PATH? – amdn
Il suffit d'ajouter cette solution à votre réponse et je vais marquer le fil comme une réponse. LD_LIBRARY_PATH est plus vrai moyen de résoudre le problème, je suppose. Mais pour ceux qui n'ont besoin que d'une solution rapide, l'option -L fonctionnera (j'ai juste essayé d'utiliser votre methid, mais ça n'a pas fonctionné pour moi: peut-être que j'ai mal installé le boot. Faites avec.). – Roman