2016-03-13 74 views
2

我已經按照documentation中所述安裝了C++網絡程序庫,並且正在嘗試手動編譯​​示例。我正在使用庫的0.11版本。編譯cpp-netlib源程序時出錯

我使用這個命令編譯:

g++ -o http_c  http_client.cpp  -lcppnetlib-uri  -lcppnetlib-server-parsers  -lcppnetlib-client-connections  -lboost_thread  -I/usr/local/include  -L/usr/local/lib64 

,我得到這個錯誤:

In file included from /usr/include/boost/iostreams/detail/is_dereferenceable.hpp:12:0, 
       from /usr/include/boost/iostreams/detail/resolve.hpp:26, 
       from /usr/include/boost/iostreams/detail/push.hpp:24, 
       from /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31, 
       from /usr/include/boost/iostreams/stream_buffer.hpp:22, 
       from /usr/include/boost/iostreams/stream.hpp:21, 
       from /usr/include/boost/spirit/home/qi/stream/detail/iterator_source.hpp:14, 
       from /usr/include/boost/spirit/home/qi/stream/stream.hpp:16, 
       from /usr/include/boost/spirit/home/qi/stream.hpp:15, 
       from /usr/include/boost/spirit/home/qi.hpp:30, 
       from /usr/include/boost/spirit/include/qi.hpp:16, 
       from /usr/local/include/boost/network/uri/accessors.hpp:12, 
       from /usr/local/include/boost/network/uri/uri.hpp:308, 
       from /usr/local/include/boost/network/protocol/http/message/wrappers/uri.hpp:10, 
       from /usr/local/include/boost/network/protocol/http/request.hpp:18, 
       from /usr/local/include/boost/network/protocol/http/client.hpp:13, 
       from http_client.cpp:1: 
/usr/include/boost/type_traits/detail/bool_trait_def.hpp:18:79: note: #pragma message: NOTE: Use of this header (bool_trait_def.hpp) is deprecated 
# pragma message("NOTE: Use of this header (bool_trait_def.hpp) is deprecated") 
                      ^
In file included from /usr/include/boost/type_traits/detail/bool_trait_def.hpp:21:0, 
       from /usr/include/boost/iostreams/detail/is_dereferenceable.hpp:12, 
       from /usr/include/boost/iostreams/detail/resolve.hpp:26, 
       from /usr/include/boost/iostreams/detail/push.hpp:24, 
       from /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31, 
       from /usr/include/boost/iostreams/stream_buffer.hpp:22, 
       from /usr/include/boost/iostreams/stream.hpp:21, 
       from /usr/include/boost/spirit/home/qi/stream/detail/iterator_source.hpp:14, 
       from /usr/include/boost/spirit/home/qi/stream/stream.hpp:16, 
       from /usr/include/boost/spirit/home/qi/stream.hpp:15, 
       from /usr/include/boost/spirit/home/qi.hpp:30, 
       from /usr/include/boost/spirit/include/qi.hpp:16, 
       from /usr/local/include/boost/network/uri/accessors.hpp:12, 
       from /usr/local/include/boost/network/uri/uri.hpp:308, 
       from /usr/local/include/boost/network/protocol/http/message/wrappers/uri.hpp:10, 
       from /usr/local/include/boost/network/protocol/http/request.hpp:18, 
       from /usr/local/include/boost/network/protocol/http/client.hpp:13, 
       from http_client.cpp:1: 
/usr/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated 
# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated") 
                        ^
In file included from /usr/include/boost/iostreams/detail/is_dereferenceable.hpp:13:0, 
       from /usr/include/boost/iostreams/detail/resolve.hpp:26, 
       from /usr/include/boost/iostreams/detail/push.hpp:24, 
       from /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31, 
       from /usr/include/boost/iostreams/stream_buffer.hpp:22, 
       from /usr/include/boost/iostreams/stream.hpp:21, 
       from /usr/include/boost/spirit/home/qi/stream/detail/iterator_source.hpp:14, 
       from /usr/include/boost/spirit/home/qi/stream/stream.hpp:16, 
       from /usr/include/boost/spirit/home/qi/stream.hpp:15, 
       from /usr/include/boost/spirit/home/qi.hpp:30, 
       from /usr/include/boost/spirit/include/qi.hpp:16, 
       from /usr/local/include/boost/network/uri/accessors.hpp:12, 
       from /usr/local/include/boost/network/uri/uri.hpp:308, 
       from /usr/local/include/boost/network/protocol/http/message/wrappers/uri.hpp:10, 
       from /usr/local/include/boost/network/protocol/http/request.hpp:18, 
       from /usr/local/include/boost/network/protocol/http/client.hpp:13, 
       from http_client.cpp:1: 
/usr/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated 
# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated") 
                        ^
/usr/bin/ld: /tmp/cczusVNF.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv' 
/usr/lib/libboost_system.so.1.60.0: error adding symbols: DSO missing from command line 
collect2: error: ld returned 1 exit status 

我不知道發生了什麼。

回答

1

那些關於廢棄標題的提示警告可以忽略,它們是boost 1.60.0的已知問題。

這使您對boost系統庫有未定義的引用。你真的安裝了你在系統上使用的boost庫嗎?這可能會解決您的問題。安裝是特定於操作系統的,啓動here