簡體   English   中英

使用Makefile.am/Makefile.in在Ubuntu Linux中構建c ++項目

[英]Building c++ project in Ubuntu Linux with Makefile.am/Makefile.in

我是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來構建我下載的項目,甚至建議我以其他方式構建它嗎?

由於您對構建項目的其他方法持開放態度,因此我建議使用CMake。 它比自動工具(至少從我所處的位置) 好得多。

#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解決方案以及其他一些東西生成項目文件。 如果您需要更多信息,請查看他們的文檔

“配置”腳本應位於您的ActiveMQ-cpp源目錄中。 從Linux命令行,您應該能夠:

1)“ cd”到您的ActiveMQ *目錄中

2)在“ ls -l”中查看“配置”腳本

3)使用“ ./configure”設置內容以構建庫\\

4)“ make”實際建立庫

評論中提到了這一點,但是這種特殊的混淆點已經存在了十多年了,我認為需要盡可能多地加以澄清。 您不需要安裝autoconf或automake即可構建使用這些工具的項目。 自動工具的全部目的是生成一個構建系統,該系統將僅使用標准工具(make,ac編譯器,sh和其他一些工具)在系統上構建。不幸的是,許多開發人員發布的tarball並非干凈構建。 如果解壓縮tarball並沒有包含配置腳本,或者配置腳本損壞,則說明軟件包中存在bug。 解決方案是絕對不要安裝autoconf / automake / libtool並嘗試生成有效的配置腳本。 解決方案是將生成錯誤作為錯誤報告給軟件包維護者。

如果Linux發行版默認情況下停止安裝多個版本的自動工具,這將是一個更好的地方,因為只有不到.002%的人口需要這些工具,而實際上需要這些工具的任何人都應該能夠自行安裝。 任何無法獲得和安裝工具的人都不會使用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM