编译 C++ Fedora 上的程序
我在 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
G
I'm having problems compiling an open source C++ project on Fedora. When I download and run the ./configure I eventually end up with....
.
.
.
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)'
When I compiled the equivilant project in Windows I did need to install and update project references to Boost. I can see that this is related to boost but not sure why I would get a syntax error.
A few other things to note, the original source code in configure and configure.ac had references to boost 1.3.5 with the same compile errors (obviously with 1.3.5 in the error msg).
I have recently installed boost 1.3.9 and updated the source. Also note that when I tried to
yum install boost
it reports I have 1.3.7 installed and that is the latest version. I did also try 1.3.7 inside the source code but I get the same problem. I just don't get why I would get a syntax error!
this is the code inside configure and configre.ac that throws the error
#BOOST
AX_BOOST_BASE(1.39.0)
AX_BOOST_THREAD
Any thoughts on where to go next would be great.
TIA
G
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为你的“开源项目”需要更高版本的 autoconf/aclocal
比安装的版本。
'AX_CFLAGS _WARN _ALL', ..., 'AX _BOOST _BASE' 都是 autoconf 宏
如果您有较新版本的 autoconf,则会正确扩展。
I think your 'open source project' requires a later version of autoconf/aclocal
than the version installed.
'AX_CFLAGS _WARN _ALL', ..., 'AX _BOOST _BASE', are all autoconf macros which
would be correctly expanded if you had a newer version of autoconf.
我可以想到发生这种情况的几个原因。
首先,“Boost”是一个非常流行的 C++ 编程框架。
I can think of several reasons for this to happen.
In first place, "Boost" is a very popular framework for C++ programming.