如何在make期间更改libtool调用的g ++标志

时间:2015-02-08 12:46:24

标签: c++ makefile g++ libtool compiler-flags

我正在尝试安装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

但是我仍然接到同样的电话,而且我不知道如何改变旗帜。

1 个答案:

答案 0 :(得分:1)

回答我自己的问题:

我找到了正确的CXXFLAGS来修改“configure”文件。

现在呼叫使用正确的标志,安装工作正常!