g++ linking error with glog on ubuntu trusty

1,301 views
Skip to first unread message

Avinash Sridharan

unread,
Nov 25, 2015, 1:26:05 PM11/25/15
to google-glog
I wanted to just try out the google log library. Installed the library on ubuntu trusty (14.04) using apt-get installlibgoogle-glog-dev 

However, when I try compiling my code with -lglog as follows:

 g++ -std=c++11 -lglog main.cc


It throws a linker error:

/tmp/ccg0wMHu.o: In function `main':

main.cc:(.text+0x12e): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)'

main.cc:(.text+0x13a): undefined reference to `google::LogMessage::stream()'

main.cc:(.text+0x146): undefined reference to `google::LogMessageFatal::~LogMessageFatal()'

main.cc:(.text+0x1ba): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)'

main.cc:(.text+0x1c6): undefined reference to `google::LogMessage::stream()'

main.cc:(.text+0x1d2): undefined reference to `google::LogMessageFatal::~LogMessageFatal()'

main.cc:(.text+0x1e5): undefined reference to `google::LogMessageFatal::~LogMessageFatal()'

main.cc:(.text+0x1f1): undefined reference to `google::LogMessageFatal::~LogMessageFatal()'

/tmp/ccg0wMHu.o: In function `std::string* google::MakeCheckOpString<double, long double>(double const&, long double const&, char const*)':

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x24): undefined reference to `google::base::CheckOpMessageBuilder::CheckOpMessageBuilder(char const*)'

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x4b): undefined reference to `google::base::CheckOpMessageBuilder::ForVar2()'

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x66): undefined reference to `google::base::CheckOpMessageBuilder::NewString()'

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x75): undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x89): undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'

collect2: error: ld returned 1 exit status

vagrant@mesos-dev:~/dev$ g++ -std=c++11 -lglog main.cc 

/tmp/ccQnKG5H.o: In function `main':

main.cc:(.text+0x12e): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)'

main.cc:(.text+0x13a): undefined reference to `google::LogMessage::stream()'

main.cc:(.text+0x146): undefined reference to `google::LogMessageFatal::~LogMessageFatal()'

main.cc:(.text+0x1ba): undefined reference to `google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&)'

main.cc:(.text+0x1c6): undefined reference to `google::LogMessage::stream()'

main.cc:(.text+0x1d2): undefined reference to `google::LogMessageFatal::~LogMessageFatal()'

main.cc:(.text+0x1e5): undefined reference to `google::LogMessageFatal::~LogMessageFatal()'

main.cc:(.text+0x1f1): undefined reference to `google::LogMessageFatal::~LogMessageFatal()'

/tmp/ccQnKG5H.o: In function `std::string* google::MakeCheckOpString<double, long double>(double const&, long double const&, char const*)':

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x24): undefined reference to `google::base::CheckOpMessageBuilder::CheckOpMessageBuilder(char const*)'

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x4b): undefined reference to `google::base::CheckOpMessageBuilder::ForVar2()'

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x66): undefined reference to `google::base::CheckOpMessageBuilder::NewString()'

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x75): undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'

main.cc:(.text._ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIdeEEPSsRKT_RKT0_PKc]+0x89): undefined reference to `google::base::CheckOpMessageBuilder::~CheckOpMessageBuilder()'

collect2: error: ld returned 1 exit status


NOTE: g++ did not complain about not finding glog, so it finding glog, however its not able to find the reference above ??


Can someone kindly point out what I might be doing wrong here?

Reply all
Reply to author
Forward
0 new messages