Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c栋和x2B栋+;使用Makefile.am/Makefile.in在Ubuntu Linux中创建项目 我是Ubuntu/Linux中的新手,我一直在使用NETBeaIDE与java合作,所以我没有很多C++项目的经验。但现在我必须提供一个概念证明,我需要连接一个C++客户端和我的ActuMeq服务器。我从下载了ActiveMQ CPP API,但无法构建/运行它_C++_Ubuntu_Build_Autoconf_Automake - Fatal编程技术网

c栋和x2B栋+;使用Makefile.am/Makefile.in在Ubuntu Linux中创建项目 我是Ubuntu/Linux中的新手,我一直在使用NETBeaIDE与java合作,所以我没有很多C++项目的经验。但现在我必须提供一个概念证明,我需要连接一个C++客户端和我的ActuMeq服务器。我从下载了ActiveMQ CPP API,但无法构建/运行它

c栋和x2B栋+;使用Makefile.am/Makefile.in在Ubuntu Linux中创建项目 我是Ubuntu/Linux中的新手,我一直在使用NETBeaIDE与java合作,所以我没有很多C++项目的经验。但现在我必须提供一个概念证明,我需要连接一个C++客户端和我的ActuMeq服务器。我从下载了ActiveMQ CPP API,但无法构建/运行它,c++,ubuntu,build,autoconf,automake,C++,Ubuntu,Build,Autoconf,Automake,下载时附带文件:Maklefile.am和Makefile.in。我搜索了一下,发现我需要automake/autoconf来构建它。我试着运行/configure,但它说找不到这样的文件或目录。我试过了 sudo apt-get update sudo apt-get install automake sudo apt-get install autoconf 还有我在网上找到的很多其他命令。这些都不起作用。我知道这个问题很基本,似乎在别的地方已经得到了回答,但我的每一次尝试都失败了。我想我

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

sudo apt-get update
sudo apt-get install automake
sudo apt-get install autoconf
还有我在网上找到的很多其他命令。这些都不起作用。我知道这个问题很基本,似乎在别的地方已经得到了回答,但我的每一次尝试都失败了。我想我错过了什么。我甚至尝试了中最后一条消息中提供的解决方案,但也不起作用

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

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

1) 将“cd”放入ActiveMQ*目录中

2) “ls-l”以查看“configure”脚本

3) “/configure”设置用于构建库的内容\


4) “make”实际构建图书馆

评论中提到了这一点,但这一特定的混淆点已经普遍存在了十多年,我认为需要尽可能多地加以澄清。您不需要安装autoconf或automake来构建使用这些工具的项目。自动工具的整个要点是生成一个构建系统,该系统将仅使用标准工具(make、c编译器、sh和其他一些工具)在系统上构建。不幸的是,许多开发人员发布的tarball不能干净地构建。如果您解包tarball并且它不包含配置脚本,或者如果配置脚本被破坏,那么这就是包中的一个bug。解决方案绝对不是安装autoconf/automake/libtool并尝试生成一个工作的配置脚本。解决方案是将构建错误作为bug报告给包维护人员


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

既然你对构建项目的其他方法持开放态度,我建议你使用CMake。这是一个比自动工具(至少从我的立场来看)更好的构建系统

该示例将通过编译并链接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#在要生成的文件夹中运行
这就是实际工作

CMake真正酷的地方在于它生成了一个构建系统(默认情况下是Makefiles),但是您可以使用它为Eclipse、visualstudio解决方案和其他一些东西生成项目文件。如果您想了解更多信息,我会退房。

您链接的站点上的版本包括
配置
脚本,因此我不知道您为什么会收到一个文件未找到错误。您可能从他们的svn下载了它吗?您是否将
cd
下载到了正确的文件夹中?问题是我没有看到配置文件。在我在中下载的.gz文件中,没有配置脚本,或者我无法看到它。另外,我认为我没有安装automake,而且我在安装它时遇到了问题,所以即使我有配置脚本,我也不知道它是否会安装work@DanielDuarteFigueiredo:您位于项目的一个子目录中。向上移动两个级别,
cd../。
&在那里您将找到
配置
脚本。它还有
README.txt
,其中有关于如何构建的说明it@DanielDuarte Figueiredo:试试这个:
cd~/Downloads/activemq-cpp-library-3.4.2
,然后
/configure
cmake <path to project> #run in the folder you want to build in
make #this does the actual work