LINUX.ORG.RU

А как слиноковать boost?

 ,


0

2

Поставил boost с репозитерии арча. Написал простецкий пример из туториала к boost.asio:

#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>

int main()
{
    boost::asio::io_service io;
    boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
    t.wait();
    std::cout << "Hello world!" << std::endl;
    return 0;
}
Решил сначала скопилить пример через g++:
g++ main.cpp \
-lboost # вот тут я пробовал -lboost-(_)asio, еще побовал -I /usr/lib, , но везде линкеру чего-то не нравится
Прошу тыкнуть носом туда, где я что-то делаю не так

Давно не использовал C++, но все же напишу.

Найди *.so файлы от буста и пропиши их. Проверь через ldd. Можно подглядеть при сборке буста.

Когда я использовать boost asio, то нужно было прописать несколько либ. Названий сейчас не помню уже.

Вот, ты видишь у себя libboost*.so? Я думаю, что нет такой. Хотя за несколько лет могло и измениться.

dave ★★★★★ ()
Ответ на: комментарий от RazrFalcon

На самом деле как раз только так и надо, поскольку с -L и -l можно зацепить другие библиотеки, и не видно что именно линкуется. То что полные пути до .so’шек использует CMake, например - одна из его killer фичей.

Но, понятное дело, хардкодить пути до библиотек нельзя, их должна генерить система сборки.

slovazap ★★★★★ ()