Tengo un archivo de prueba simple, TestMe.cpp:Uso de prueba de Google Qt en Windows
#include <gtest/gtest.h>
TEST(MyTest, SomeTest) {
EXPECT_EQ(1, 1);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
he construido Google prueba como una biblioteca estática. (Puedo proporcionar el makefile si es relevante.)
puedo compilar TestMe.cpp desde una línea de comandos sin ningún problema:
g++ TestMe.cpp -IC:\gtest-1.5.0\gtest-1.5.0\include -L../gtest/staticlib -lgtest -o TestMe.exe
Se ejecuta como se esperaba.
Sin embargo, no puedo hacer que compile en Qt. Mi archivo de proyecto Qt, en el mismo directorio:
SOURCES += TestMe.cpp
INCLUDEPATH += C:\gtest-1.5.0\gtest-1.5.0\include
LIBS += -L../gtest/staticlib -lgtest
Esto se traduce en 17 errores "símbolo externo sin resolver" relacionados con GTEST funciones.
Estoy tirando de mi cabello aquí, ya que estoy seguro de que es algo simple. ¿Algunas ideas?
Éstos son algunos de los símbolos externos no definidos:
TestMe.obj:-1: error: unresolved external symbol "public: int __thiscall testing::UnitTest::Run(void)" ([email protected]@[email protected]@QAEHXZ) referenced in function _main
TestMe.obj:-1: error: unresolved external symbol "public: static class testing::UnitTest * __cdecl testing::UnitTest::GetInstance(void)" ([email protected]@[email protected]@[email protected]) referenced in function _main
TestMe.obj:-1: error: unresolved external symbol "void __cdecl testing::InitGoogleTest(int *,char * *)" ([email protected]@@[email protected]) referenced in function _main
TestMe.obj:-1: error: unresolved external symbol "public: __thiscall testing::internal::AssertHelper::~AssertHelper(void)" ([email protected]@[email protected]@[email protected]) referenced in function "private: virtual void __thiscall MyTest_SomeTest_Test::TestBody(void)" ([email protected][email protected]@EAEXXZ)
Una lista de los símbolos externos ayudaría. – Michael
@Michael: algunos de los símbolos no resueltos se han incluido ahora en la pregunta. Si tienes alguna idea, házmelo saber. –