Boost::asio Problem

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Kmitska
Beiträge: 349
Registriert: Fr Sep 23, 2011 8:49 pm
Wohnort: Karlsruhe, Pforzheim

Boost::asio Problem

Beitrag von Kmitska » Fr Nov 02, 2012 10:21 pm

Hallo Leute,

ich versuche seit einiger Zeit mit SSL eine Verbindung zu einer Webseite aufzubauen.
Habe nun Boost heruntergeladen und OpenSSL installiert + Headerfiles ebenfalls heruntergeladen.

So weit so gut...
Nun versuche ich das ganze mit meinem IDE zum Funktionieren zu bringen.
Unter meinem IDE (Code::Blocks, Ubuntu) habe ich anschließend unter "Search direcotries" den Pfad zu Boost hinzugefügt.

Habe zum ausprobieren folgendes eingebunden:

Code: Alles auswählen

#include <boost/bind.hpp>
#include <boost/asio.hpp>
#include <boost/asio/ssl.hpp>
Beim Ausführen bekam ich folgende Referenzfehler:
obj/Release/main.o||In function `_GLOBAL__sub_I_main':|
main.cpp:(.text.startup+0x33)||undefined reference to `boost::system::generic_category()'|
main.cpp:(.text.startup+0x3f)||undefined reference to `boost::system::generic_category()'|
main.cpp:(.text.startup+0x4b)||undefined reference to `boost::system::system_category()'|
main.cpp:(.text.startup+0x57)||undefined reference to `boost::system::system_category()'|
obj/Release/main.o||In function `boost::asio::ssl::detail::openssl_init_base::do_init::do_init()':|
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initC2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initC5Ev]+0xf4)||undefined reference to `boost::system::system_category()'|
||=== Build finished: 5 errors, 0 warnings ===|
Habe nach diesen Fehler gegooglet und auf diversen Foren hieß es, dass man dem Linker "-lboost_system" mitteilen soll.
Aber als ich das bei mir unter Proect->Build options->Linker Settings->Other linker options hinzufügte bekam ich den Fehler, dass -lboost_system nicht gefunden werden kann.
Ein Beispiel von solchem Forum:
http://stackoverflow.com/questions/9723 ... -compiling

Nun weiß ich nicht, was bei mir schief läuft, wäre sehr dankbar, wenn Ihr mir weiter helfen könnt.

Grüße,
Kmitska

Kmitska
Beiträge: 349
Registriert: Fr Sep 23, 2011 8:49 pm
Wohnort: Karlsruhe, Pforzheim

Re: Boost::asio Problem

Beitrag von Kmitska » Sa Nov 03, 2012 12:17 am

Habe das Problem gelöst.

Wie?
Ich habe (da ich unter Ubuntu bin) gleich die kompilierten Packete runtegeladen.
In diesem Fall hat mir "System" gefehlt, und ich fand im Software-Center ein Packet: "libboost-system-dev".
Wer das Ganze haben will kann auch "libboost-dev" runterladen.

Nach dem Downloaden sollten unter /usr/lib diverse statische Bibliotheken erscheinen, die man einbinden kann.
In meinen Fall: /usr/lib/libboost_system.a (statisch)

Dies habe ich dann anschließend meinen Linker mitgeteilt und voila, das Ganze ging! :)

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Boost::asio Problem

Beitrag von fat-lobyte » Di Nov 06, 2012 2:13 pm

Danke für das Posten der Lösung.
Sehr brav ;-)
Haters gonna hate, potatoes gonna potate.

Antworten