在 Ubuntu 14.04 上使用 arc4random trusty

pfe*_*pfe 3 compiling c++ libraries

我目前正在使用 C++ 程序,我希望在其中使用 arc4random 函数。每次编译时,我都会收到 arc4random 的“未在范围内声明”消息。我知道这是我的程序中包含的库中的一个错误,但我已经包含了 stdlib.h 和 stdio.h ,我相信它们是它使用的库?我已经安装了“sudo apt-get install libpcl-all”以及“sudo apt-get install build-essential”。我已经在网上搜索过,但目前仍不确定我需要什么。我对 Ubuntu 还很陌生,所以任何有关这个问题的帮助将不胜感激。

ste*_*ver 5

arc4random函数是一个 BSD 实用程序,不属于 Ubuntu 上的标准 C 库的一部分。要使用它,我认为您需要安装该libbsd-dev软件包,然后显式使用包含 BSD 版本的标头

#include <bsd/stdlib.h>
Run Code Online (Sandbox Code Playgroud)

然后,您需要libbsd通过添加-lbsd到编译器命令行来将可执行文件与库链接,例如

g++ -o prog -Wall prog.cpp -lbsd
Run Code Online (Sandbox Code Playgroud)