J'essaie de compiler ce petit morceau de code à partir de la documentation de Boost: (http://www.boost.org/doc/libs/1_46_1/libs/iostreams/doc/ tutorial/filter_usage.html)C++ Impossible de lier la bibliothèque Boost
#include <boost/iostreams/device/file_descriptor.hpp>
#include <boost/iostreams/filtering_stream.hpp>
namespace io = boost::iostreams;
int main()
{
io::filtering_ostream out;
out.push(compressor());
out.push(base64_encoder());
out.push(file_sink("my_file.txt"));
// write to out using std::ostream interface
}
Mais il refuse de compiler, je reçois les erreurs suivantes:
g ++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g ++ -I ../ teste -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I ../ teste -I. -o main.o ../teste/main.cpp
../teste/main.cpp: En fonction 'int main()':
../teste/main.cpp:9: 25: erreur: 'compresseur' n'a pas été déclaré dans ce champ d'application
../teste/main.cpp:10:29: error: 'base64_encoder' n'a pas été déclaré dans ce champ d'application
../teste/ main.cpp: 11: 37: erreur: 'file_sink' n'a pas été déclaré dans cette portée
Je sais que je fais probablement quelque chose de stupide mais je ne vois tout simplement pas ce que ...
modifier:
BTW, j'ai toutes les bibliothèques Boost et les fichiers -dev installés correctement. et j'utilise QT-Creator, donc mon fichier .pro ressemble à ceci:
SOURCES += \
main.cpp
LIBS += \
-lboost_filesystem \
-lboost_iostreams
Je ne comprends pas ce que cela signifie ... – bardes
Wow, maintenant je vois! Je pensais compresseur() et base64_encoder() étaient de vraies fonctions :) J'ai dit que c'était probablement quelque chose de stupide, merci pour votre attention. – bardes
génial, gaspillé 2 jours de recompilation boost de diverses façons en essayant de comprendre pourquoi cet exemple de code non compilable ne compilerait pas. –