LINUX.ORG.RU

как в QtCreator подключить Boost::asio?

 ,


0

1

Пытаюсь скомпилировать пример

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
INCLUDEPATH += /usr/include/boost148
SOURCES += main.cpp
include <iostream>
#include <boost148/boost/array.hpp>
#include <boost148/boost/asio.hpp>
#include <boost148/boost/date_time/posix_time/posix_time.hpp>

using std::cout;
using std::endl;
using namespace boost::asio;

int main()
{
        io_service io;

        deadline_timer t(io, boost::posix_time::seconds(5));
        t.wait();
        cout << "Hello, World!" << endl;


        return 0;
}

Видать линкер не может чего-то найти, а чего не может не говорит.

undefined reference to boost::system::generic_category()
undefined reference to boost::system::generic_category()
undefined reference to boost::system::generic_category()
undefined reference to boost::system::generic_category()
undefined reference to boost::system::generic_category()
undefined reference to pthread_key_create
undefined reference to pthread_key_delete

...
...

гуглил, по результатам добавил

LIBS += -lboost_system

Стало так cannot find -lboost_system

yum install boost148-system

Package boost148-system already installed :(

★★★★★

Судя по наличию версии в INCLUDEPATH += /usr/include/boost148, бинари лежат в «своих» каталогах, где gcc их не ищет. Посмотри, где лежит libboost_system.so и добавь путь до него: LIBS += -L$path_to -lboost_system

А что за дистрибутив?

Deleted
()
Ответ на: комментарий от Deleted

Спасибо, попробую.

А что за дистрибутив?

CentOS 6

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Помогло, вот финальный pro файл

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
INCLUDEPATH += /usr/include/boost148

LIBS += -L/usr/lib64/boost148 -lboost_system -lpthread

SOURCES += main.cpp
sniper21 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.