错误:'srandom'未在此范围内声明

sas*_*alm 0 c++ mingw compiler-errors zxing

我正在使用MinGW构建zxing,但它失败了这些错误:

build\core\tests\src\common\BitArrayTest.cpp: In static member function 'static void zxing::BitArrayTest::fillRandom(zxing::BitArray&, zxing::BitArray&)':
build\core\tests\src\common\BitArrayTest.cpp:99:39: error: 'srandom' was not declared in this scope
build\core\tests\src\common\BitArrayTest.cpp:101:15: error: 'random' was not declared in this scope
scons: *** [build\core\tests\src\common\BitArrayTest.o] Error 1
Run Code Online (Sandbox Code Playgroud)

我尝试添加-DANN_NO_RANDOM到编译器标志,但它没有帮助.

Big*_*oss 6

srandom是一个linux函数,而是使用srand,如果你不想从外部库更改代码,只需添加-Dsrandom=srand -Drandom=rand到编译器标志.

  • 它实际上在[POSIX](http://pubs.opengroup.org/onlinepubs/009695399/functions/srandom.html)中指定,这意味着所有UNIX或类UNIX环境都应该拥有它. (2认同)