编译 C++ Fedora 上的程序

发布于 2024-07-26 07:21:56 字数 1540 浏览 6 评论 0原文

我在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拍不死你 2024-08-02 07:21:57

我认为你的“开源项目”需要更高版本的 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.

像极了他 2024-08-02 07:21:57

我可以想到发生这种情况的几个原因。
首先,“Boost”是一个非常流行的 C++ 编程框架。

  1. 该项目有一个错误(编译错误)
  2. 您没有正确安装依赖项
  3. 该项目与您的发行版不兼容。 存储库中的软件包可能已过时,因此它是 Fedora 的最新软件包,但不是真正最新的 Boost 软件包。 如果是这种情况,Fedora 用户更适合说。
  4. 您的一些依赖项已损坏
  5. 您没有正确遵循说明

I can think of several reasons for this to happen.
In first place, "Boost" is a very popular framework for C++ programming.

  1. The project has a bug(a compile error)
  2. You didn't install the dependencies right
  3. The project isn't compatible with your distribution. The package on the repository may be outdated, so it is the most recent for Fedora but not the real most recent Boost package. Fedora users will be better fit to say if this is the case.
  4. Some of your dependencies were corrupted
  5. You didn't follow the instructions right
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文