我在Fedora上编译开源C ++项目时遇到问题。当我下载并运行./configure时,我最终得到....
.
.
.
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
./configure: line 15513: AX_CFLAGS_WARN_ALL: command not found
./configure: line 15514: AX_CXXFLAGS_WARN_ALL: command not found
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison
./configure: line 15784: AX_PROG_GPERF: command not found
checking trace option enabled... no
checking for getrusage... yes
checking time profiling enabled... no
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking forcing use of select... no
checking use pipes to communication between scheduler and dispatcher... no
./configure: line 16280: syntax error near unexpected token `1.39.0'
./configure: line 16280: `AX_BOOST_BASE(1.39.0)'
当我在Windows中编译等效项目时,我确实需要安装和更新Boost的项目引用。我可以看到这与boost有关,但不确定为什么我会得到语法错误。
还有一些需要注意的事项,configure和configure.ac中的原始源代码引用了具有相同编译错误的boost 1.3.5(在错误消息中显然为1.3.5)。
我最近安装了boost 1.3.9并更新了源代码。还要注意,当我尝试
时 yum install boost
它报告我安装了1.3.7,这是最新版本。我也在源代码中尝试了1.3.7但是我遇到了同样的问题。我只是不明白为什么我会得到语法错误!
这是configure和configre.ac中抛出错误
的代码#BOOST
AX_BOOST_BASE(1.39.0)
AX_BOOST_THREAD
关于下一步该怎么做的任何想法都会很棒。
TIA
答案 0 :(得分:0)
我认为你的'开源项目'需要更高版本的autoconf / aclocal 比安装的版本。
'AX_CFLAGS _WARN _ALL',...,'AX _BOOST _BASE',都是autoconf宏 如果您有更新版本的autoconf,将会正确扩展。
答案 1 :(得分:-1)
我可以想到发生这种情况的几个原因。 首先,“Boost”是一个非常流行的C ++编程框架。