我正在尝试安装vowpal_wabbit(https://github.com/JohnLangford/vowpal_wabbit)。我在Windows 7上,所以我使用cygwin64。
在调用" make"时,调用g ++:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I/usr/include -I/include -O3 -fomit-frame-pointer -ffast-math -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -DNDEBUG -Wall -pedantic -std=c++0x ...
最后我得到错误:
comp_io.h:28:34: error: 'fileno' was not declared in this scope
fil = gzdopen(fileno(stdin), "rb");
global_data.cc: In constructor 'vw::vw()':
global_data.cc:316:32: error: 'fileno' was not declared in this scope
stdout_fileno = fileno(stdout);
^
Makefile:619: recipe for target 'global_data.lo' failed
make[2]: *** [global_data.lo] Error 1
make[2]: Leaving directory '/home/Sachou/vowpal_wabbit/vowpalwabbit'
Makefile:390: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/Sachou/vowpal_wabbit/vowpalwabbit'
Makefile:502: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
从我的研究中,我认为使用std = gnu ++ 0x标志而不是std = c ++ 0x调用g ++可能会解决问题。
我修改了makefile以读取CXXFLAGS = -std=gnu++0x
而不是c++0x
。
但是我仍然接到同样的电话,而且我不知道如何改变旗帜。
答案 0 :(得分:1)
回答我自己的问题:
我找到了正确的CXXFLAGS来修改“configure”文件。
现在呼叫使用正确的标志,安装工作正常!