0

我是 Ubuntu/Linux 的新手,我一直在使用 NetBeans IDE 使用 java,所以我在构建 c++ 项目方面没有太多经验。但是现在我必须提供概念证明,并且我需要将 C++ 客户端与我的 ActiveMQ 服务器连接起来。我从此链接下载了 ActiveMQ-CPP API ,但无法构建/运行它。

下载附带文件:Maklefile.am 和 Makefile.in。我搜索了它,发现我需要 automake/autoconf 来构建它。我尝试运行./configure但它说找不到这样的文件或目录。我试过

sudo apt-get update
sudo apt-get install automake
sudo apt-get install autoconf

以及我在 Internet 上找到的许多其他命令。然后都没有工作。我知道这个问题真的很基本,似乎已经在其他地方得到了回答,但我所做的每一次尝试都失败了。我想我错过了一些东西。我什至尝试了本主题最后一条消息中提供的解决方案,但也没有用。

谁能帮我安装 autoconf/automake,或者告诉我如何使用 Makefile.am / Makefile.in 来构建我下载的项目,或者甚至建议我用其他方式构建它?

4

3 回答 3

1

由于您对构建项目的其他方法持开放态度,因此我建议您使用 CMake。它是一个autotools 更好的构建系统(至少从我的立场来看)。

#CMakeLists.txt
project(MyProject CXX)
set_minimum_required(VERSION 2.8)
add_executable(foobar foo.cpp bar.cpp)

该示例将通过编译和链接 foo.cpp 和 bar.cpp 来构建一个名为“foobar”的可执行文件。将上述代码放在一个名为 CMakeLists.txt 的文件中,然后运行以下命令:

cmake <path to project> #run in the folder you want to build in
make #this does the actual work

CMake 真正酷的地方在于它生成了一个构建系统(默认为 Makefiles),但您可以使用它为 Eclipse、Visual Studio 解决方案和一堆其他东西生成项目文件。如果您想了解更多信息,我会查看他们的文档

于 2012-05-11T15:57:43.640 回答
0

“配置”脚本应该在您的 ActiveMQ-cpp 源目录中。从 Linux 命令行,您应该能够:

1) "cd" 进入你的 ActiveMQ* 目录

2)“ls -l”查看“配置”脚本

3) "./configure" 设置构建库\

4)“make”实际构建库

于 2012-05-10T17:16:19.530 回答
0

评论中提到了这一点,但这种特殊的混淆点在十多年来一直很常见,我认为需要尽可能多地澄清。 您不需要安装 autoconf 或 automake 来构建使用这些工具的项目。 autotools 的全部意义在于生成一个构建系统,该系统将在仅使用标准工具(make、ac 编译器、sh 和其他一些工具)的系统上构建。不幸的是,许多开发人员发布的 tarball 构建不干净。如果您解压缩 tarball 并且它不包含配置脚本,或者如果配置脚本被破坏,这是包中的错误。解决办法绝对不行安装 autoconf/automake/libtool 并尝试生成一个工作配置脚本。解决方案是将构建错误作为错误报告给包维护者。

如果 Linux 发行版默认停止安装多个版本的自动工具,世界将会变得更美好,因为只有不到 0.002% 的人口需要这些工具,而且任何真正需要这些工具的人都应该能够自己安装它。任何无法获取和安装这些工具的人都无法使用它们。

于 2012-05-11T15:48:34.500 回答