В настоящее время я работаю с программой на C ++, где я хочу использовать функцию arc4random. Каждый раз, когда я компилирую, я получаю не объявленное в области видимости сообщение для arc4random. Я понимаю, что это ошибка в моих включенных библиотеках в моей программе, и все же я включил как stdlib.h, так и stdio.h, которые, я полагаю, являются библиотеками, которые он использует? Я установил 'sudo apt-get install libpcl-all', а также 'sudo apt-get install build-essential'. Я просмотрел сеть, но все еще не уверен, что мне нужно на данный момент. Я все еще новичок в Ubuntu, поэтому любая помощь в решении этой проблемы будет признательна.
Эти arc4random
функция является утилитой BSD, которая не является частью стандартной библиотеки для C на Ubuntu. Для использования его я думаю, что необходимо будет установить libbsd-dev
пакет, и затем включать версию BSD заголовка явно с помощью
#include <bsd/stdlib.h>
, необходимо будет затем связать исполняемый файл с libbsd
библиотека путем добавления -lbsd
к командной строке компилятора, например
g++ -o prog -Wall prog.cpp -lbsd