2016-05-24 46 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 –

相关问题