使用boost / filesystem.hpp时,我遇到了printf和cout的问题
我使用mingw设置在eclipse juno中创建了一个c ++项目
objectfile.hpp包含声明和#include" boost / filesystem.hpp"
objectfile.cpp包含boost :: filesystem :: 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和相应的代码然后重新编译之前,没有任何输出。
我还没有使用其他升级库进行过测试。也许其他人有类似的问题?
Windows 7 64位
Eclipse Juno 64位-std = c ++ 11编译器选项
Boost 1.51多线程动态链接
我使用以下选项重建了Boost 1.51:
-j8 toolset = gcc cxxflags = -std = gnu ++ 0x variant = release optimization = speed link = static threading = multi --layout = system --prefix = boost install
现在可行。
谢谢 Marshall Clow 。提交答案,我会接受。
答案 0 :(得分:1)
重新提交答案:
是否有可能使用与程序不同的编译器选项构建boost库?具体来说,我会检查std=c++11
。