私はこの小さなコードをboostドキュメントからコンパイルしようとしています: (http://www.boost.org/doc/libs/1_46_1/libs/iostreams/doc/チュートリアル/ filter_usage.html)C++ 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
}
しかし、それはコンパイルすることを拒否し、私は、次のエラーを取得:
グラム++ -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 /含む/ Qt4を/ QtCore -I/USR /含む/ Qt4を/ QtGui -Iは/ usr// Qt4を-Iが挙げられます。 -I ../ teste -I。 -o main.o ../teste/main.cpp
../teste/main.cpp:機能において 'メインINT()':
../teste/main.cpp:9。 25:エラー: '圧縮機'
../teste/main.cpp:10:29このスコープ内で宣言されなかったエラー: 'base64_encoder' をこの範囲
../teste/で宣言されていませんでしたmain.cppに:11:37:ERROR:「file_sinkは」このスコープ
私はおそらく愚かな何かをやっている知っているが、私は何を見ることができないで宣言されていませんでした...
編集:
ところで、私はすべてのブーストライブラリと-devファイルが正しくインストールされています。私の.PROファイルがそうのように見えるので、私は、QT-クリエーターを使用しています:
SOURCES += \
main.cpp
LIBS += \
-lboost_filesystem \
-lboost_iostreams
私は得ることはありません... – bardes
うわー、今私が参照してください!私は が、私はそれはおそらく、あなたの注意のために愚かな何か、ありがとうと言ったコンプレッサー()とbase64_encoder()された実際の機能を:)と思いました。素晴らしい – bardes
は、この非コンパイルサンプルコードはコンパイルされません理由を把握しようと、さまざまな方法でブーストを再コンパイル2日無駄にしました。 –