#hoopla

  • Startseite
  • Kontakt
  • Hoopla?!
  • Datenschutz
  • Impressum
  • LetsEncrypt changing from certbot to certbot-auto »

gcc on Ubuntu 16.04: Undefined reference on google::InitGoogleLogging and google::ParseCommandLineFlags

Eingetragen von fayon am 24 Jan 2019 in Arbeit

I tried to compile a C++ program that was pimped by using the gflags and glog libraries. I installed them by apt-get install libgflags-dev libgoogle-glog-dev. When linking the executable, I got undefined reference errors like

mssj.o: In Funktion `main':
mssj.cpp:(.text.startup+0x131): Nicht definierter Verweis auf `google::InitGoogleLogging(char const*)'
mssj.cpp:(.text.startup+0x145): Nicht definierter Verweis auf `google::ParseCommandLineFlags(int*, char***, bool)'
mssj.cpp:(.text.startup+0x346): Nicht definierter Verweis auf `google::LogMessageFatal::LogMessageFatal(char const*, int)'
mssj.cpp:(.text.startup+0x34e): Nicht definierter Verweis auf `google::LogMessage::stream()'
mssj.cpp:(.text.startup+0x356): Nicht definierter Verweis auf `google::LogMessageFatal::~LogMessageFatal()'
mssj.cpp:(.text.startup+0x476): Nicht definierter Verweis auf `google::LogMessageFatal::LogMessageFatal(char const*, int)'
mssj.cpp:(.text.startup+0x480): Nicht definierter Verweis auf `google::LogMessage::stream()'
mssj.cpp:(.text.startup+0x48a): Nicht definierter Verweis auf `google::LogMessageFatal::~LogMessageFatal()'
mssj.o: In Funktion `_GLOBAL__sub_I__ZN3fLS16FLAGS_input_fileB5cxx11E':
mssj.cpp:(.text.startup+0xd8c): Nicht definierter Verweis auf `google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, char const*, void*, void*)'
mssj.cpp:(.text.startup+0xdc7): Nicht definierter Verweis auf `google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, char const*, void*, void*)'
mssj.cpp:(.text.startup+0xe37): Nicht definierter Verweis auf `google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, char const*, void*, void*)'
mssj.cpp:(.text.startup+0xe72): Nicht definierter Verweis auf `google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, char const*, void*, void*)'
mssj.cpp:(.text.startup+0xe9f): Nicht definierter Verweis auf `google::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, char const*, void*, void*)'
collect2: error: ld returned 1 exit status

The issue was the call of the linker. It expects shared library files to appear AFTER the executable using them, so instead of g++ -lgflags -lglog MANY.o-FILES -o EXECUTABLE it wants the libraries at the end. g++ MANY.o-FILES -o EXECUTABLE -lgflags -lglog solved the problem.

Dieser Eintrag wurde eingetragen von fayon und ist abgelegt unter Arbeit.

Noch kein Feedback


Formular wird geladen...

Kommentar-Feed für diesen Eintrag

Suche

Neueste Posts

  • gcc on Ubuntu 16.04: Undefined reference on google::InitGoogleLogging and google::ParseCommandLineFlags
  • LetsEncrypt changing from certbot to certbot-auto
  • Debian 8: Job for systemd-sysctl.service failed
  • VS Code C++ Debugging: Stopping due to fatal error: NullReferenceException: Object reference not set to an instance of an object
  • Symfony 3.4 + Doctrine: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column
  • Recap: SymfonyLive in Berlin 2018
  • Drupal 7 + geolocation_googlemaps module: 403 error
  • Ich bin dabei: SymfonyLive Berlin 2018
  • Convert/ImageMagick: not authorized `pdf:-'
  • Symfony 3.4: make Sonata list sortable using YAML for entitiy definition

Neueste Kommentare

  • Renata am IAA Plus: Fehlermeldung "Ware(X). Aussenhandelsstatistik Menge.fehlende Pflichtfeld"
  • Sandman am Kopierstempel in Photoshop innerhalb VirtualBox funktioniert nicht
  • treviris am Kopierstempel in Photoshop innerhalb VirtualBox funktioniert nicht
  • Mike am Netzwerkscanner auf Ubuntu einrichten
  • Carlos am Nautilus 3.10 on Ubuntu 14.04: Show full date and time in list view column
  • Carlos am Nautilus 3.10 on Ubuntu 14.04: Show full date and time in list view column
  • Mohsen am IAA Plus: Fehlermeldung "Ware(X). Aussenhandelsstatistik Menge.fehlende Pflichtfeld"
  • David am Nautilus 3.10 on Ubuntu 14.04: Show full date and time in list view column
  • Conny am IAA Plus: Fehlermeldung "Ware(X). Aussenhandelsstatistik Menge.fehlende Pflichtfeld"
  • Markus am IAA Plus: Fehlermeldung "Ware(X). Aussenhandelsstatistik Menge.fehlende Pflichtfeld"
  • SK am Elster: Zertifikat verlängern gibt "Es ist ein Fehler aufgetreten! Bitte starten Sie den Browser erneut und führen Sie diese Aktion nochmal durch."
  • Menzel am IAA Plus: Fehlermeldung "Ware(X). Aussenhandelsstatistik Menge.fehlende Pflichtfeld"
  • Angelika am Elster: Zertifikat verlängern gibt "Es ist ein Fehler aufgetreten! Bitte starten Sie den Browser erneut und führen Sie diese Aktion nochmal durch."
  • Michael am IAA Plus: Fehlermeldung "Ware(X). Aussenhandelsstatistik Menge.fehlende Pflichtfeld"
  • WM am Elster: Zertifikat verlängern gibt "Es ist ein Fehler aufgetreten! Bitte starten Sie den Browser erneut und führen Sie diese Aktion nochmal durch."
  • Andy am Elster: Zertifikat verlängern gibt "Es ist ein Fehler aufgetreten! Bitte starten Sie den Browser erneut und führen Sie diese Aktion nochmal durch."
  • GanbaatarJ am Symfony 1.4: BaseFormFilterDoctrine not found
  • EASY am IAA Plus: Fehlermeldung "Ware(X). Aussenhandelsstatistik Menge.fehlende Pflichtfeld"
  • Peter am IAA Plus: Fehlermeldung "Ware(X). Aussenhandelsstatistik Menge.fehlende Pflichtfeld"
  • PeGo am Elster: Zertifikat verlängern gibt "Es ist ein Fehler aufgetreten! Bitte starten Sie den Browser erneut und führen Sie diese Aktion nochmal durch."

©2019 by ff • Kontakt • Hilfe

CMS