2016-05-24 47 views
-2

你好,我需要用make文件或腳本部署linux(centos)C++項目。通過一個makefile或腳本安裝依賴項和項目可執行二進制文件。 我的依賴應用程序li​​bboost-devel,gcc-g ++和pcre。我excuteble二進制文件是run_excuteC++ linux在部署環境中安裝可執行文件

+1

所以,你有什麼問題嗎? –

+0

@Karsten Koop示例或makefile文件或腳本部署在我的項目的Linux機器上的示例。 –

+0

@Karsten Koop只需使用make文件或腳本安裝我的項目二進制文件run_excute即可。我可以這樣做嗎? –

回答

0

葉肯定 - 把下面的命令放到一個文件中。在文件頂部添加:

#!/bin/bash 

保存文件 - 可以說你稱它爲安裝;在命令行中鍵入:

chmod +x ./install 

然後來構建和安裝您的程序類型:

sudo ./install 

或者,如果你有一段時間了,你的手: http://www.rpm.org/max-rpm/ch-rpm-build.html


作爲一個例子,fedora的基本rpm構建過程是:

第1步:設置您的機器上做包裝:

dnf install @development-tools fedora-packager rpmdevtools 
rpmdev-setuptree 

步驟2:源和Makefile 將這些在〜/的rpmbuild/SOURCES

第3步:創建一個規範文件 在〜/的rpmbuild/SPECS創建名爲myname.spec的文件。它應該包含這樣的內容:

Summary:   My program description 
Name:    myname 
Version:   0.0.0 
Release:   0 
License:   GPLv2 
Group:    Applications/Databases 
Source:    https://xyz.tar.gz 
URL:    http://myurl 
BuildRequires:  libicu-devel 
BuildRequires:  pcre-devel 

%description 
A couple of lines describing the package 

%prep 
%setup -q 

%build 
cd %{myname}/source 
make %{?_smp_mflags} 

%install 
%make_install 

%files 
%{_bindir}/* 

%changelog 
* Tue Nov 10 2015 Yours Truly <[email protected]> - 0.0.0-0 
- Some change comments 

第4步:創建源代碼和二進制RPM

cd ~/rpmbuild/SPECS 
rpmbuild -ba myname.spec 

第5步:使用rpm

cd ~/rpmbuild/RPMS/x86_64 
rpm -Uvh ./myprogram-version-release.a.whole.lot.of.stuff.rpm 
+0

@ myk爲我的C++項目製作安裝程序感謝您的迴應構建rpm是很好的一點你可以用簡單的示例構建rpm到我的C++項目中。請用簡單的例子 –

+0

@ myk給我看看,如果我按照這個步驟創建我的C++項目的安裝? –

+0

是的:這些步驟將允許您在文件名末尾創建一個帶有.rpm的文件,該文件有點像windows install.exe文件,但.rpm文件適用於RHEL和Fedora Linux發行版。所以你可以分發.rpm文件。要解包(安裝)你的程序,你可以使用rpm -Uvh命令。安裝程序時無需編譯程序,因爲.rpm文件包含已編譯的程序。 – myk

0

要安裝的依賴關係用yum,所以:

sudo yum install libboost-devel 
sudo yum group install "Development Tools" 
sudo yum install pcre-devel 

要構建應用程序,移動到目錄中生成文件中,並做:

make 
sudo make install 

最後運行應用程序

./run_excute 

或者如果你的幸運

run_excute 

將工作。

+0

感謝您的回覆這不是我的問題我可以使用二進制文件run_excute –

相關問題