boost / filesystem.hppを使用すると、printfとcoutで問題が発生しました。
mingw設定を使用してEclipsejunoでc++プロジェクトを作成しました
objectfile.hppには宣言が含まれ、#include "boost / filesystem.hpp" objectfile.cppに
はboost::ファイルシステム::exists(...)の定義と使用法が含まれます
mainfile.cppには次のコードが含まれます。
#include <stdio.h>
using namespace std;
int main() {
printf("asdf\n");
cout <<"asdf"<<endl;
return 0;
}
mainfile.cppにはobjectfile.hppのヘッダーは含まれていませんが、リンク段階でリンクされます。また、boost_systemとboost_filesystemがリンクされています。
問題:出力が空です。boost / filesystem.hppと対応するコードを削除してから再コンパイルするまで、出力はまったくありません。
私はまだ他のブーストライブラリでテストしていません。たぶん他の誰かが同様の問題を抱えていますか?
Windows764
ビットEclipseJuno64ビット-std=c++11コンパイラオプション
Boost1.51マルチスレッド動的リンク
アップデート
Boost1.51を次のオプションで再構築しました。
-j8toolset=gcc cxxflags = -std = gnu ++ 0x Variant = releaseoptimization = speed link = static threading = multi --layout = system --prefix = boost install
そして今それは動作します。
マーシャルクロウありがとうございます。回答を送信してください。承諾します。