我目前正在开发一个 C++ 程序,希望在其中使用 arc4random 函数。每次编译时,我都会收到 arc4random 未在范围内声明的消息。我知道这是我程序中包含的库中的错误,但我同时包含了 stdlib.h 和 stdio.h,我相信它们是程序使用的库?我已经安装了“sudo apt-get install libpcl-all”以及“sudo apt-get install build-essential”。我搜索了网络,但仍然不确定我现在需要什么。我对 Ubuntu 还很陌生,所以任何有关此问题的帮助都将不胜感激。
答案1
该arc4random
函数是一个 BSD 实用程序,不属于 Ubuntu 上的标准 C 库。要使用它,我认为您需要安装该libbsd-dev
软件包,然后使用以下命令显式包含 BSD 版本的标头
#include <bsd/stdlib.h>
然后你需要libbsd
通过添加-lbsd
到编译器命令行来将可执行文件与库链接起来,例如
g++ -o prog -Wall prog.cpp -lbsd