c ++ 11和boost_filesystem cout和printf不起作用

时间:2012-09-26 13:54:24

标签: c++ boost c++11 printf cout

使用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 。提交答案,我会接受。

1 个答案:

答案 0 :(得分:1)

重新提交答案:

是否有可能使用与程序不同的编译器选项构建boost库?具体来说,我会检查std=c++11