typeinfo name () и endl не работают вместе в Windows и mingw

Когда я запускаю этот простой код в Ubuntu (Ubuntu 13.10, 64 бита, g ++ 4.8.1):

#include <iostream>
#include <typeinfo>
#include <string>

using namespace std;

int main(void)
{
const type_info &ti_trait = typeid(char_traits<char>::char_type);

cout << "Traits character type name : " <<
ti_trait.name() << endl;

return 0;
}

все в порядке, но в Windows (Windows 8 64 бит, mingw, g ++ 4.8.1) я получил «Программа перестала работать» (компиляция работает нормально, и -Wall не выдает предупреждения).

Тот же код, скомпилированный и выполненный в Visual Studio, работает правильно.

Любая идея?

2

Решение

Решение состоит в том, чтобы скомпилировать с -static-libgcc -static-libstdc++ (смотрите здесь для объяснения). Благодаря @sftrabbit.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]