vendredi 26 décembre 2014

Undefined reference to _unwind_resume when using Google test

I set up Google test for some test driven development on my desktop PC and all went well. Now I'm away from home, I have downloaded my code and set up google test in the same way on my laptop and all is not well. Google test compiles fine, but I get "undefined reference to _unwind_resume" messages when compiling my tests.


Both my Desktop and laptop are running Windows 7 with the latest MinGW and I followed the same steps set it up. I am using Code::Blocks to compile the tests.


This is what I have used to compile the Google test and mock libraries:



g++ -IC:\Codes\programs\gmock-1.6.0\gtest/include -IC:\Codes\programs\gmock-1.6.0\gtest -IC:\Codes\programs\gmock-1.6.0/include -IC:\Codes\programs\gmock-1.6.0 -c C:\Codes\programs\gmock-1.6.0\gtest/src/gtest-all.cc


g++ -IC:\Codes\programs\gmock-1.6.0\gtest/include -IC:\Codes\programs\gmock-1.6.0\gtest -IC:\Codes\programs\gmock-1.6.0/include -IC:\Codes\programs\gmock-1.6.0 -c C:\Codes\programs\gmock-1.6.0/src/gmock-all.cc


ar -rv libgmock.a gtest-all.o gmock-all.o



This goes well and provides a libgmock.a file. That is then linked in the compiler settings in Code::Blocks and the correct include directories are specified too.


Building the tests in Code::Blocks gives these errors:



C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.text+0x17d): undefined reference to _Unwind_Resume' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.text+0x193): undefined reference to_Unwind_Resume' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.text+0x2d7): undefined reference to _Unwind_Resume' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.text+0x3d5): undefined reference to_Unwind_Resume' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.text+0x499): undefined reference to _Unwind_Resume' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.text+0x7d6): more undefined references to_Unwind_Resume' follow C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.eh_frame$_ZNK7testing8internal6StringcvSsEv+0x13): undefined reference to __gxx_personality_v0' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.eh_frame$_ZN7testing8internal6StringaSEPKc+0x13): undefined reference to__gxx_personality_v0' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.eh_frame$_ZN7testing8internal8FilePathC1EPKc+0x13): undefined reference to __gxx_personality_v0' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.eh_frame$_ZN7testing8internal8FilePathC1ERKNS0_6StringE+0x13): undefined reference to__gxx_personality_v0' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.eh_frame$_ZN7testing7MessageC1Ev+0x13): undefined reference to __gxx_personality_v0' C:\Codes\programs\gmock-1.6.0\libgmock.a(gtest-all.o):gtest-all.cc:(.eh_frame$_ZN7testing7MessageC1ERKS0_+0x13): more undefined references to__gxx_personality_v0' follow



Compiler flags in Code::Blocks include -std=c++11 and -std=gnu++11


I can't work out what I've done differently to before and I'm a bit stuck.


Aucun commentaire:

Enregistrer un commentaire