0

При попытке запустить вот такой вот код:

#include <iostream>
#include <boost/filesystem/operations.hpp>

using namespace std;

int main() { cout << "test"; return 0; }

При попытке компиляции вот таким образом: g++ findData.cpp - я получаю ошибку

/usr/bin/ld: /tmp/ccuF9xWj.o: в функции «__static_initialization_and_destruction_0(int, int)»:
findDataAboutDirLinux.cpp:(.text+0x6d): неопределённая ссылка на «boost::system::generic_category()»
/usr/bin/ld: findDataAboutDirLinux.cpp:(.text+0x79): неопределённая ссылка на «boost::system::generic_category()»
/usr/bin/ld: findDataAboutDirLinux.cpp:(.text+0x85): неопределённая ссылка на «boost::system::system_category()»
collect2: error: ld returned 1 exit status

Погуглив, я попробовал указать пути к библиотеке через -l и -L руками, это ничем не помогло.

Во всех случаях итог один. Есть идеи, что делать? У меня ubuntu 20.04.03, компилятор g++ и vs code

Я пробовал гуглить статьи на эту тему, но не нашел ничего такого, что могло бы мне помочь. Кто-то писал про изменение файла make, помогите пожалуйста и скажите, где и как именно его менять.

  • Не прилинковали boost-system? – HolyBlackCat Oct 16 '21 at 18:14
  • Простите, а как это сделать?) Я просто новичок в этом деле, поэтому много не догоняю( – Герман Покровский Oct 16 '21 at 18:16
  • По идее, -lboost_system. – HolyBlackCat Oct 16 '21 at 18:28
  • Первым делом попробовал это, не сработало (ошибка идентична той, что уже указана выше) – Герман Покровский Oct 16 '21 at 18:31
  • Флаг писали справа от имени файла с кодом или слева? Нужно справа. – HolyBlackCat Oct 16 '21 at 18:38
  • Справа, команда выглядела так: g++ findData.cpp -lboost_system – Герман Покровский Oct 16 '21 at 18:40
  • Чего-то вы недоговариваете... У меня вообще без флагов собирается. Версия линукса та же. – HolyBlackCat Oct 16 '21 at 18:46
  • Если честно - понятия не имею, в чем дело... – Герман Покровский Oct 16 '21 at 19:42
  • Пожалуйста, вместо общих фраз: Дубликат вопроса не помог решить проблему, добавте в вопрос больше конкретики, почему ответы там не помогли? – 0xdb Oct 16 '21 at 20:03
  • Вот вы сказали, что -lboost_system не помог. Ошибка осталась та же, дословно? – HolyBlackCat Oct 16 '21 at 20:32
  • Верно, ошибка все та же – Герман Покровский Oct 17 '21 at 06:22
  • С командой g++ findData.cpp -lboost_system ошибка вообще не может быть, как в вопросе, потому что в тексте ошибки упоминается другой файл findDataAboutDirLinux.cpp. "Кто-то писал про изменение файла make, помогите пожалуйста и скажите, где и как именно его менять." - в вопросе ничего не упоминается про make файл. Не вводите читающих в заблуждение и приводите настоящие подробности. – user7860670 Oct 17 '21 at 09:24
  • извиняюсь, просто опечатка вышла, но суть это не меняет, там все идентично – Герман Покровский Oct 17 '21 at 09:32
  • ¿Ну так а сборка все-таки через make файл делается? – user7860670 Oct 17 '21 at 10:31

0 Answers0