Netbeans: добавление & quot; строки компиляции — дополнительные параметры & quot; & Quot; -lboost_system & Quot; в конце команды компиляции

Я использую Netbeans в качестве IDE и пытаюсь создать фрагмент кода, который использует библиотеку Boost, но я получаю ошибку ниже

g ++ -c -g -MMD -MP -MF «build / Debug / GNU-Linux-x86 / tcpproxy_server.o.d» -o build / Debug / GNU-Linux-x86 / tcpproxy_server.o tcpproxy_server.cpp
mkdir -p dist / Debug / GNU-Linux-x86
g ++ -o dist / Debug / GNU-Linux-x86 / tcp_proxy build / Debug / GNU-Linux-x86 / tcpproxy_server.o
build / Debug / GNU-Linux-x86 / tcpproxy_server.o: в функции __static_initialization_and_destruction_0(int, int)':
/usr/include/boost/system/error_code.hpp:221: undefined reference to
повышение :: системы :: generic_category ()»
/usr/include/boost/system/error_code.hpp:222: неопределенная ссылка на boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:223: undefined reference to
повышение :: системы :: system_category ()»
build / Debug / GNU-Linux-x86 / tcpproxy_server.o: в функции boost::system::error_code::error_code()':
/usr/include/boost/system/error_code.hpp:322: undefined reference to
повышение :: системы :: system_category ()»
build / Debug / GNU-Linux-x86 / tcpproxy_server.o: в функции boost::asio::error::get_system_category()':
/usr/include/boost/asio/error.hpp:230: undefined reference to
повышение :: системы :: system_category ()»
build / Debug / GNU-Linux-x86 / tcpproxy_server.o: в функции boost::thread_exception::thread_exception(int, char const*)':
/usr/include/boost/thread/exceptions.hpp:51: undefined reference to
повышение :: системы :: system_category ()»
collect2: error: ld вернул 1 состояние выхода

Поэтому я провел онлайн-поиск ошибок и обнаружил, что мне нужно добавить «-lboost_system» в мою команду компиляции.

Я добавил его в «project-> properties-> build-> c ++ compiler-> Additional Options», но ошибка все та же.

g ++ -lboost_system -o dist / Debug / GNU-Linux-x86 / tcp_proxy build / Debug / GNU-Linux-x86 / tcpproxy_server.o
build / Debug / GNU-Linux-x86 / tcpproxy_server.o: в функции __static_initialization_and_destruction_0(int, int)':
/usr/include/boost/system/error_code.hpp:221: undefined reference to
повышение :: системы :: generic_category ()»
/usr/include/boost/system/error_code.hpp:222: неопределенная ссылка на boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:223: undefined reference to
повышение :: системы :: system_category ()»
build / Debug / GNU-Linux-x86 / tcpproxy_server.o: в функции boost::system::error_code::error_code()':
/usr/include/boost/system/error_code.hpp:322: undefined reference to
повышение :: системы :: system_category ()»
build / Debug / GNU-Linux-x86 / tcpproxy_server.o: в функции boost::asio::error::get_system_category()':
/usr/include/boost/asio/error.hpp:230: undefined reference to
повышение :: системы :: system_category ()»
build / Debug / GNU-Linux-x86 / tcpproxy_server.o: в функции boost::thread_exception::thread_exception(int, char const*)':
/usr/include/boost/thread/exceptions.hpp:51: undefined reference to
повышение :: системы :: system_category ()»
collect2: error: ld вернул 1 состояние выхода

Я узнал, что мне нужно добавить его в конец строки компиляции, например:

«g ++ tcp_proxy.cpp -o tcpproxy -lboost_system»

Это я попробовал, и это работает, но netbeans добавляет «Опции добавления» в начале

лайк:

g ++ -lboost_system -o dist / Debug / GNU-Linux-x86 / tcp_proxy build / Debug / GNU-Linux-x86 / tcpproxy_server.o

Есть ли способ настроить netbeans, чтобы добавить свою опцию в конец?

1

Решение

Итак, я сделал еще несколько поисков и нашел вопрос с несколько моей проблемой

ссылка на пост:

Повышение C ++ в Linux через удаленную разработку Netbeans: неопределенная ссылка на boost :: filesystem :: path :: codecvt ()

Это говорит о том, что я могу использовать следующий способ для связи библиотеки:

Свойства проекта> Линкер> Библиотеки> Добавить библиотеку> Выберите файлы .a.

Это несколько решает мою проблему, я добиваюсь успеха с этой попыткой сейчас:

g ++ -c -g -MMD -MP -MF «build / Debug / GNU-Linux-x86 / tcpproxy_server.o.d» -o build / Debug / GNU-Linux-x86 / tcpproxy_server.o tcpproxy_server.cpp
mkdir -p dist / Debug / GNU-Linux-x86

g ++ -o dist / Debug / GNU-Linux-x86 / tcp_proxy build / Debug / GNU-Linux-x86 / tcpproxy_server.o -lboost_system

Но я все еще не уверен, является ли это правильным подходом ИЛИ почему его добавление в дополнение к параметрам компилятора не работает

0

Другие решения

Других решений пока нет …