Linker error when compiling boost.asio example

后端 未结 3 605
孤城傲影
孤城傲影 2020-12-09 18:32

I\'m trying to learn a little bit C++ and Boost.Asio. I\'m trying to compile the following code example:

#include 
#include 

        
相关标签:
3条回答
  • 2020-12-09 19:14

    You need to tell g++ where the header files are, where the libraries are and which library you are using, e.g. on my system:

    g++  -I /opt/local/include -L /opt/local/lib -lboost_system-mt -lboost_thread-mt a.cpp
    

    where -I tells g++ where the header files are and -L tells g++ where the actual libraries are and -lboost_thread-mt is the library I want to link against in the -L folder.

    0 讨论(0)
  • 2020-12-09 19:34

    Have you built the boost libraries or are you trying to do this with a header-only setup? The error looks like the boost_system library is missing, which would suggest that the linker can't find the pre-built library.

    0 讨论(0)
  • 2020-12-09 19:38

    you need to link against libboost_system and apparently also against libboost_thread.

    g++ -I /usr/local/boost_1_42_0 -lboost_system -lboost_thread a.cpp
    

    in case of multi-threaded libraries:

    g++ -I /usr/local/boost_1_42_0 -lboost_system-mt -lboost_thread-mt a.cpp
    
    0 讨论(0)
提交回复
热议问题