Hilfe beim Aufbau boost asio-ssl-Beispiel
Habe ich gearbeitet, durch die asio-ssl-Beispiele (unten verlinkt). Trotz der durch die Bemühungen, ich habe keine link openssl in der boost-Beispiel. Die Ausgabe ld ist, dass ld fehlt Symbole aus libssl.ein. Die Sache, die ich nicht herausfinden können, ist, dass ich alle Symbole in der libssl.eine mit nm, der ld sagt, fehlen. Ich vermute, bin ich etwas dumm, aber ich bin nicht vertraut genug mit c++, es zu beheben. Ich habe auch mein makefile. Die Quelle ssl-client.cpp ist wörtlich aus dem link.
http://www.boost.org/doc/libs/1_41_0/doc/html/boost_asio/example/ssl/client.cpp
INCLUDES = -I /usr/local/boost_1_41_0/ -I /opt/local/include/
LIBS = -L/usr/local/boost_1_41_0/lib/libboost_system.a \
-L/opt/local/lib/libcrypto.a \
-L/opt/local/lib/libssl.a
CPP = g++
build: ssl-client
ssl-client: ssl-client.cpp
$(CPP) $(LIBS) $(INCLUDES) ssl-client.cpp
- Format-code durch Einrücken es 4 Leerzeichen (habe ich Weg gemacht und für Sie). Ist das wirklich euer Makefile von verbatim? Ich merke, du bist die variable definieren
LIBS
dann mit der variableLIB
(ohne S). - Die LIBS -> LIB war nur ein kleiner Tippfehler aus, wenn ich Durcheinander herum. Sorry für die Verwirrung. Ich erwarte nicht, dass es zu formatieren makefiles also ich nicht versuchen. Danke für den Tipp!
CPP = g++
sieht nicht ganz richtig aus. Der C++ - compiler istCXX
, nichtCPP
.CPP
ist der C-Präprozessor.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, du hast missverstanden wie die
-L
option funktioniert.-L
gibt einen Pfad, in dem die Suche nach Bibliotheken. Zum angeben einer einzelnen Bibliothek zu verlinken, verwenden Sie die-l
option auszulassen und den "lib" - Präfix wie folgt:Außerdem gibt es in der Regel kein Leerzeichen zwischen dem
-I
include-Pfad-option und den eigentlichen Pfad. Ich bin mir nicht sicher, ob ein Raum, in den es verursacht Probleme, aber Sie könnten versuchen, diese, um auf der sicheren Seite:Auch, wie bereits in meinem Kommentar, Sie definiert die
LIBS
variable aber dann dieLIB
variable. Der Aufruf von g++ sollte wie folgt sein: