相关疑难解决方法(0)

编译boost.asio示例时链接器错误

我正在尝试学习一点点C++和Boost.Asio.我正在尝试编译以下代码示例:

#include <iostream>
#include <boost/array.hpp>
#include <boost/asio.hpp>

using boost::asio::ip::tcp;

int main(int argc, char* argv[])
{
  try
  {
    if (argc != 2)
    {
      std::cerr << "Usage: client <host>" << std::endl;
      return 1;
    }

    boost::asio::io_service io_service;

    tcp::resolver resolver(io_service);
    tcp::resolver::query query(argv[1], "daytime");
    tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
    tcp::resolver::iterator end;

    tcp::socket socket(io_service);
    boost::system::error_code error = boost::asio::error::host_not_found;
    while (error && endpoint_iterator != end)
    {
      socket.close();
      socket.connect(*endpoint_iterator++, error);
    }
    if (error)
      throw boost::system::system_error(error);

    for (;;)
    {
      boost::array<char, 128> buf;
      boost::system::error_code error;

      size_t len = socket.read_some(boost::asio::buffer(buf), error);

      if …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction linker g++ boost-asio

13
推荐指数
1
解决办法
3万
查看次数

链接boost线程库期间gcc 4.8链接器错误

我自己编译了boost库,使用g ++ 4.8编译成功完成.一切都在〜/ bin/boost中.编译后,所有文件都位于/ Users/$(USER)/ bin/boost/stage/lib /

以下必要的部分:

CC=g++-4.8
LD=g++-4.8

BOOST_LIB_PATH=/Users/$(USER)/bin/boost/stage/lib/
BOOST_HEADER_PATH=/Users/$(USER)/bin/boost/

LFLAGS=-L$(BOOST_LIB_PATH) -lboost_thread

release: $(OBJ)
        $(LD) $(OBJ) obj/main.o $(LFLAGS) -o $(RELEASE_NAME) 
Run Code Online (Sandbox Code Playgroud)

编译期间一切正常,但链接过程失败.基本上所有错误看起来都一样:

ndefined symbols for architecture x86_64:
  "boost::system::system_category()", referenced from:
      __static_initialization_and_destruction_0(int, int)
Run Code Online (Sandbox Code Playgroud)

我已经读过: 尝试使用Boost.Filesystem然而它似乎没有链接? C++/Boost:示例中未定义的符号? 和许多其他人但仍然没有找到解决方案.

我不知道问题在哪里,我已经改变了链接的顺序,我尝试直接链接线程库,但我仍然得到相同的结果.在mac os x 10.8.4下编译https://github.com/dbedla/snake-cpp11期间出现问题(我必须修改makefile)

我将不胜感激任何有关如何解决问题的建议.

对不起我的英语不好 :(

c++ macos gcc boost linker-errors

0
推荐指数
1
解决办法
2704
查看次数