GoogleTest 1.6 con Cygwin 1.7 error de compilación: 'fileno' no se declaró en este alcance

GoogleTest 1.6 con Cygwin 1.7: 'fileno' no se declaró en este ámbito

Mensaje de error al crear una prueba simple en la función Factorial () en Eclipse CDT:

Invoking: Cygwin C++ Compiler
g++ -std=c++0x -DGTEST_OS_CYGWIN=1 -I"E:\source\gtest-1.6.0\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/challenge.d" -MT"src/challenge.d" -o "src/challenge.o" "../src/challenge.cpp"
In file included from E:\source\gtest-1.6.0\include/gtest/internal/gtest-internal.h:40:0,
                 from E:\source\gtest-1.6.0\include/gtest/gtest.h:57,
                 from ../src/challenge.cpp:11:
E:\source\gtest-1.6.0\include/gtest/internal/gtest-port.h: In function 'int testing::internal::posix::FileNo(FILE*)':
E:\source\gtest-1.6.0\include/gtest/internal/gtest-port.h:1589:51: error: 'fileno' was not declared in this scope
E:\source\gtest-1.6.0\include/gtest/internal/gtest-port.h:1595:57: error: 'strdup' was not declared in this scope
E:\source\gtest-1.6.0\include/gtest/internal/gtest-port.h:1627:71: error: 'fdopen' was not declared in this scope

Eclipse CDT 8.1 ejecutando gcc 4.7.3 en Cygwin 1.7.22

gTest 1.6 fue construido exitosamente incluyendo pruebas de demostración, con cmake 2.8.9 en Cygwin 1.7.22

He vinculado la biblioteca integrada con la ruta completa, E: \ lib \ gtest-1.6.0 \ Cygwin \ libgtest.a

La siguiente opción de comando fue agregada manualmente, obtuvo el mismo error sin ella.

-DGTEST_OS_CYGWIN=1

Parece que los errores no tienen nada que ver con mi código. ¿Alguien que usa gTest con Eclipse y Cygwin?

Gracias,

unsigned long Factorial(unsigned n) {
    return n==0? 0 : n*Factorial(n-1);
}

// Tests factorial of 0.
TEST(FactorialTest, HandlesZeroInput) {
  EXPECT_EQ(1, Factorial(0));
}

// Tests factorial of positive numbers.
TEST(FactorialTest, HandlesPositiveInput) {
  EXPECT_EQ(1, Factorial(1));
  EXPECT_EQ(2, Factorial(2));
  EXPECT_EQ(6, Factorial(3));
  EXPECT_EQ(40320, Factorial(8));
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta