ошибка компоновки при попытке использовать boost :: asio - PullRequest
0 голосов
/ 03 ноября 2010

Я думаю, что схожу с ума, я пытаюсь скомпилировать простой проект, чтобы понять, как работать с io_service, и я не могу скомпилировать его.

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

class testClass
{
    unsigned int other_number;
    unsigned int main_number;
    boost::asio::io_service& io_serv;
public:
    testClass(boost::asio::io_service& io) : other_number(0), io_serv(io), main_number(0){io_serv.post(boost::bind(&testClass::printNumbers, this));}
    void changeNumber(int num)  
    {
        io_serv.post(boost::bind(&testClass::doChangeNumber, this, num));
    }

private:
    void doChangeNumber(int num)
    {
        main_number = num;
    }
    void printNumbers()
    {
        std::cout<<"Main number is: "<<main_number<<" Other number is:"<<other_number<<std::endl;
        other_number++;
        Sleep(1000);
        io_serv.post(boost::bind(&testClass::printNumbers, this));
    }
};

void main()
{
    boost::asio::io_service io_serv;
    testClass tc(io_serv);
    io_serv.run();
    int num = 0;
    while (true)
    {
        tc.changeNumber(num++);
        Sleep(2000);
    }
}

Я добавил в «свойства проекта-> c / c ++ -> general-> дополнительные каталоги включения» строку: "C:\Program Files (x86)\boost_1_44_0";

И я добавил в "свойство проекта-> компоновщик-> дополнительные каталоги библиотек" строку: "C:\Program Files (x86)\boost_1_44_0\libs"; но ничего не работает ... Я использую Visual Studio 2010 .. в boost_1_44_0 \ libs нет файлов .lib ... Я скачал его 2 раза с сайта boost просто для того, чтобы убедиться ...

независимо от того, что я делаю, я всегда получаю LINK : fatal error LNK1104: cannot open file 'libboost_system-vc100-mt-gd-1_44.lib'

1 Ответ

2 голосов
/ 03 ноября 2010

Вы можете собрать Boost libs в своей локальной системе , используя bjam, как описано здесь (Раздел 5.2). После того, как вы это сделаете, вы должны быть готовы - используйте это из командной строки Visual Studio и убедитесь, что ваш проект имеет правильный путь LIB.

По умолчанию предустановленные библиотеки будут доступны только в том случае, если вы используете программу установки из Boost Pro Computing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...