Не работает Boost. Undefined reference to `boost::system::generic_category()'

182
24 декабря 2021, 07:30

Работает #include <boost/algorithm/string.hpp>,

Но #include "boost/filesystem.hpp" - не работает.

main.cpp

#include <boost/filesystem.hpp>
int main() { return 0; }

Терминал

> Executing task: /usr/bin/g++ -DBOOST_SYSTEM_NO_DEPRECATED -lboost_system -lboost_filesystem -lpthread -lboost_thread -g /home/aram/codevs/nutshell/main.cpp -o /home/aram/codevs/nutshell/main <
/tmp/ccRxXESV.o: In function `boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const':
/usr/include/boost/system/error_code.hpp:656: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:659: undefined reference to `boost::system::generic_category()'
/tmp/ccRxXESV.o: In function `boost::system::error_category::std_category::equivalent(std::error_code const&, int) const':
/usr/include/boost/system/error_code.hpp:686: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:689: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:701: undefined reference to `boost::system::generic_category()'
collect2: error: ld returned 1 exit status
The terminal process terminated with exit code: 1

Эти аргументы я использовал для компиляции, их так же видно в вырезке терминала

-DBOOST_SYSTEM_NO_DEPRECATED -lboost_system -lboost_filesystem -lpthread -lboost_thread

Так же я пробовал следующее:

#define BOOST_NO_CXX11_SCOPED_ENUMS
#include <boost/filesystem.hpp>
#undef BOOST_NO_CXX11_SCOPED_ENUMS

С подобной ошибкой уже очень много вопросов, но ни один из них мне не помог :c

Пожалуйста, помогите :<

Answer 1

Порядок линковки библиотек имеет значение, они должны линковаться после объектов, которые используют символы из них:

-lboost_thread -lboost_filesystem -lboost_system -lpthread
READ ALSO
Найти площадь по координатам

Найти площадь по координатам

Треугольник задается координатами своих вершин на плоскости: A(x1, y1), В (х2,, у2), С (х3, y3)Найти площадь треугольника ABC

172
Вывод матрицы спиралью [закрыт]

Вывод матрицы спиралью [закрыт]

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение

90